<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::io::OctreePointCloudCompression&lt; PointT, LeafT, BranchT, OctreeT &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1io_1_1_octree_point_cloud_compression.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="#pro-static-attribs">静态 Protected 属性</a> &#124;
<a href="classpcl_1_1io_1_1_octree_point_cloud_compression-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::io::OctreePointCloudCompression&lt; PointT, LeafT, BranchT, OctreeT &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p><b>Octree</b> pointcloud compression class  
 <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="octree__pointcloud__compression_8h_source.html">octree_pointcloud_compression.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::io::OctreePointCloudCompression&lt; PointT, LeafT, BranchT, OctreeT &gt; 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1io_1_1_octree_point_cloud_compression.png" usemap="#pcl::io::OctreePointCloudCompression_3C_20PointT_2C_20LeafT_2C_20BranchT_2C_20OctreeT_20_3E_map" alt=""/>
  <map id="pcl::io::OctreePointCloudCompression_3C_20PointT_2C_20LeafT_2C_20BranchT_2C_20OctreeT_20_3E_map" name="pcl::io::OctreePointCloudCompression_3C_20PointT_2C_20LeafT_2C_20BranchT_2C_20OctreeT_20_3E_map">
<area href="classpcl_1_1octree_1_1_octree_point_cloud.html" alt="pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;" shape="rect" coords="0,56,969,80"/>
<area href="classpcl_1_1octree_1_1_octree2_buf_base.html" title="Octree double buffer class" alt="pcl::octree::Octree2BufBase&lt; LeafContainerT, BranchContainerT &gt;" shape="rect" coords="0,0,969,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:aeb1a535aa4d11432900f4d83fec798cd"><td class="memItemLeft" align="right" valign="top"><a id="aeb1a535aa4d11432900f4d83fec798cd"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">OctreePointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::<a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a>&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:aeb1a535aa4d11432900f4d83fec798cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61010d2ca2d327505a95fc19cd4ed845"><td class="memItemLeft" align="right" valign="top"><a id="a61010d2ca2d327505a95fc19cd4ed845"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">OctreePointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::PointCloudPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:a61010d2ca2d327505a95fc19cd4ed845"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59ecbad249db7b7242fc24086bfb5bfe"><td class="memItemLeft" align="right" valign="top"><a id="a59ecbad249db7b7242fc24086bfb5bfe"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">OctreePointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:a59ecbad249db7b7242fc24086bfb5bfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f2e6af77868d272c67c40f6c64711b"><td class="memItemLeft" align="right" valign="top"><a id="a20f2e6af77868d272c67c40f6c64711b"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a20f2e6af77868d272c67c40f6c64711b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afffd0f3a2a6c38087f367b56335f3580"><td class="memItemLeft" align="right" valign="top"><a id="afffd0f3a2a6c38087f367b56335f3580"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:afffd0f3a2a6c38087f367b56335f3580"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc5138a8737f7776621d50e5748170b9"><td class="memItemLeft" align="right" valign="top"><a id="adc5138a8737f7776621d50e5748170b9"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node.html">OctreeT::LeafNode</a>&#160;</td><td class="memItemRight" valign="bottom"><b>LeafNode</b></td></tr>
<tr class="separator:adc5138a8737f7776621d50e5748170b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad34b719204f0e0a816da81f7ddc8ab90"><td class="memItemLeft" align="right" valign="top"><a id="ad34b719204f0e0a816da81f7ddc8ab90"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">OctreeT::BranchNode</a>&#160;</td><td class="memItemRight" valign="bottom"><b>BranchNode</b></td></tr>
<tr class="separator:ad34b719204f0e0a816da81f7ddc8ab90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e6281385be119c12fd1c30b008cd3d0"><td class="memItemLeft" align="right" valign="top"><a id="a0e6281385be119c12fd1c30b008cd3d0"></a>
typedef <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; LeafT, BranchT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>RealTimeStreamCompression</b></td></tr>
<tr class="separator:a0e6281385be119c12fd1c30b008cd3d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a0ee08e321de11f29603ba28d55e8ed"><td class="memItemLeft" align="right" valign="top"><a id="a4a0ee08e321de11f29603ba28d55e8ed"></a>
typedef <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree_base.html">OctreeBase</a>&lt; LeafT, BranchT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>SinglePointCloudCompressionLowMemory</b></td></tr>
<tr class="separator:a4a0ee08e321de11f29603ba28d55e8ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1octree_1_1_octree_point_cloud')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;</a></td></tr>
<tr class="memitem:ac1f0efca932f13c22f61d93427c09cc3 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ac1f0efca932f13c22f61d93427c09cc3"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Base</b></td></tr>
<tr class="separator:ac1f0efca932f13c22f61d93427c09cc3 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad265334537cd8f7251272e33f5350d82 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ad265334537cd8f7251272e33f5350d82"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node.html">OctreeT::LeafNode</a>&#160;</td><td class="memItemRight" valign="bottom"><b>LeafNode</b></td></tr>
<tr class="separator:ad265334537cd8f7251272e33f5350d82 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8896c64b83f7a3cb13e81337cd03a1a inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ad8896c64b83f7a3cb13e81337cd03a1a"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">OctreeT::BranchNode</a>&#160;</td><td class="memItemRight" valign="bottom"><b>BranchNode</b></td></tr>
<tr class="separator:ad8896c64b83f7a3cb13e81337cd03a1a inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae53cfda82c353687bd18ac99eec61e42 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ae53cfda82c353687bd18ac99eec61e42"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">OctreeDepthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
<tr class="separator:ae53cfda82c353687bd18ac99eec61e42 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac535a4ebd87341d1c3535a9d07709fbe inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ac535a4ebd87341d1c3535a9d07709fbe"></a>
typedef const <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">OctreeDepthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstIterator</b></td></tr>
<tr class="separator:ac535a4ebd87341d1c3535a9d07709fbe inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7837e86e5a4556e96f749eef84fb28de inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a7837e86e5a4556e96f749eef84fb28de"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node_iterator.html">OctreeLeafNodeIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>LeafNodeIterator</b></td></tr>
<tr class="separator:a7837e86e5a4556e96f749eef84fb28de inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae9283106bdd1f4baca767f9c1659ab2 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="aae9283106bdd1f4baca767f9c1659ab2"></a>
typedef const <a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node_iterator.html">OctreeLeafNodeIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstLeafNodeIterator</b></td></tr>
<tr class="separator:aae9283106bdd1f4baca767f9c1659ab2 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a154692e65bad736c0f9ccae08bd2f8e7 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a154692e65bad736c0f9ccae08bd2f8e7"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">OctreeDepthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>DepthFirstIterator</b></td></tr>
<tr class="separator:a154692e65bad736c0f9ccae08bd2f8e7 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09e97a5ff995aff000d00a1884a8d483 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a09e97a5ff995aff000d00a1884a8d483"></a>
typedef const <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">OctreeDepthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstDepthFirstIterator</b></td></tr>
<tr class="separator:a09e97a5ff995aff000d00a1884a8d483 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa496eea223ddb37f57078aefa3ac6ad0 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="aa496eea223ddb37f57078aefa3ac6ad0"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_breadth_first_iterator.html">OctreeBreadthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>BreadthFirstIterator</b></td></tr>
<tr class="separator:aa496eea223ddb37f57078aefa3ac6ad0 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fe0d339bcefe6bb78c970766c266e75 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a4fe0d339bcefe6bb78c970766c266e75"></a>
typedef const <a class="el" href="classpcl_1_1octree_1_1_octree_breadth_first_iterator.html">OctreeBreadthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstBreadthFirstIterator</b></td></tr>
<tr class="separator:a4fe0d339bcefe6bb78c970766c266e75 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac404358de1dad9636986a4c5e2ce9cc4 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ac404358de1dad9636986a4c5e2ce9cc4"></a>
typedef boost::shared_ptr&lt; std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>IndicesPtr</b></td></tr>
<tr class="separator:ac404358de1dad9636986a4c5e2ce9cc4 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09158b24d28dbd025f43ba1d43970c2d inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a09158b24d28dbd025f43ba1d43970c2d"></a>
typedef boost::shared_ptr&lt; const std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>IndicesConstPtr</b></td></tr>
<tr class="separator:a09158b24d28dbd025f43ba1d43970c2d inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa35953d1ae5ae43c46b14a8e37a7e07c inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="aa35953d1ae5ae43c46b14a8e37a7e07c"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:aa35953d1ae5ae43c46b14a8e37a7e07c inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adea5e55af6bf6a590730d489506fa8c0 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="adea5e55af6bf6a590730d489506fa8c0"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:adea5e55af6bf6a590730d489506fa8c0 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d2dd9664baa253ace9b403e2da3118a inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a0d2dd9664baa253ace9b403e2da3118a"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:a0d2dd9664baa253ace9b403e2da3118a inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fd8f89506e85d236b939c3b8e99e58d inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a3fd8f89506e85d236b939c3b8e99e58d"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">OctreePointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_base.html">OctreeBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>SingleBuffer</b></td></tr>
<tr class="separator:a3fd8f89506e85d236b939c3b8e99e58d inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e13d0899ada2ce4beffcabcea1ee150 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a2e13d0899ada2ce4beffcabcea1ee150"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">OctreePointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a>, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a2e13d0899ada2ce4beffcabcea1ee150 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92b1f66a9250437d49e137c4a7b10456 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a92b1f66a9250437d49e137c4a7b10456"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">OctreePointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a>, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:a92b1f66a9250437d49e137c4a7b10456 inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ae7790d587f3c92c079f3f3b61f4c7f inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a7ae7790d587f3c92c079f3f3b61f4c7f"></a>
typedef std::vector&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, Eigen::aligned_allocator&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>AlignedPointTVector</b></td></tr>
<tr class="separator:a7ae7790d587f3c92c079f3f3b61f4c7f inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e31bea52fc307137dd237c82485553a inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a1e31bea52fc307137dd237c82485553a"></a>
typedef std::vector&lt; <a class="el" href="structpcl_1_1_point_x_y_z.html">PointXYZ</a>, Eigen::aligned_allocator&lt; <a class="el" href="structpcl_1_1_point_x_y_z.html">PointXYZ</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>AlignedPointXYZVector</b></td></tr>
<tr class="separator:a1e31bea52fc307137dd237c82485553a inherit pub_types_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1octree_1_1_octree2_buf_base')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">pcl::octree::Octree2BufBase&lt; LeafContainerT, BranchContainerT &gt;</a></td></tr>
<tr class="memitem:a3a096991cc440dadbf88dc190daaa63d inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a3a096991cc440dadbf88dc190daaa63d"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; LeafContainerT, BranchContainerT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>OctreeT</b></td></tr>
<tr class="separator:a3a096991cc440dadbf88dc190daaa63d inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf4f8ce548baf729a9010a91b0f9a321 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="abf4f8ce548baf729a9010a91b0f9a321"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BufferedBranchNode</a>&lt; BranchContainerT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>BranchNode</b></td></tr>
<tr class="separator:abf4f8ce548baf729a9010a91b0f9a321 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73f2b55e278e232922f993a6f80693c9 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a73f2b55e278e232922f993a6f80693c9"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node.html">OctreeLeafNode</a>&lt; LeafContainerT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>LeafNode</b></td></tr>
<tr class="separator:a73f2b55e278e232922f993a6f80693c9 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2da6f2c737c797bcf604cc3b0a04439 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="ac2da6f2c737c797bcf604cc3b0a04439"></a>
typedef BranchContainerT&#160;</td><td class="memItemRight" valign="bottom"><b>BranchContainer</b></td></tr>
<tr class="separator:ac2da6f2c737c797bcf604cc3b0a04439 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed704f8abd0635476a70dea70436e946 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="aed704f8abd0635476a70dea70436e946"></a>
typedef LeafContainerT&#160;</td><td class="memItemRight" valign="bottom"><b>LeafContainer</b></td></tr>
<tr class="separator:aed704f8abd0635476a70dea70436e946 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cf49106bbb773b286a64059c8f41722 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a2cf49106bbb773b286a64059c8f41722"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">OctreeDepthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
<tr class="separator:a2cf49106bbb773b286a64059c8f41722 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f8072cce142ee046fddfbcc71bc10d inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a14f8072cce142ee046fddfbcc71bc10d"></a>
typedef const <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">OctreeDepthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstIterator</b></td></tr>
<tr class="separator:a14f8072cce142ee046fddfbcc71bc10d inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae44590dbdf64c905b0890efd9ceb8243 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="ae44590dbdf64c905b0890efd9ceb8243"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node_iterator.html">OctreeLeafNodeIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>LeafNodeIterator</b></td></tr>
<tr class="separator:ae44590dbdf64c905b0890efd9ceb8243 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe2d624b00f15ffd5cb58820f5c44e55 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="afe2d624b00f15ffd5cb58820f5c44e55"></a>
typedef const <a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node_iterator.html">OctreeLeafNodeIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstLeafNodeIterator</b></td></tr>
<tr class="separator:afe2d624b00f15ffd5cb58820f5c44e55 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5caa8f2d4b934b45aa2d02f3e6487115 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a5caa8f2d4b934b45aa2d02f3e6487115"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">OctreeDepthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>DepthFirstIterator</b></td></tr>
<tr class="separator:a5caa8f2d4b934b45aa2d02f3e6487115 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad44f7b1a4b05f430fab8dc43434617fe inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="ad44f7b1a4b05f430fab8dc43434617fe"></a>
typedef const <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">OctreeDepthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstDepthFirstIterator</b></td></tr>
<tr class="separator:ad44f7b1a4b05f430fab8dc43434617fe inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4358d2e0a895dc0062c5e988f5582da inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="ad4358d2e0a895dc0062c5e988f5582da"></a>
typedef <a class="el" href="classpcl_1_1octree_1_1_octree_breadth_first_iterator.html">OctreeBreadthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>BreadthFirstIterator</b></td></tr>
<tr class="separator:ad4358d2e0a895dc0062c5e988f5582da inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa02ca9ff874c40c44da9acd6d4f20851 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="aa02ca9ff874c40c44da9acd6d4f20851"></a>
typedef const <a class="el" href="classpcl_1_1octree_1_1_octree_breadth_first_iterator.html">OctreeBreadthFirstIterator</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstBreadthFirstIterator</b></td></tr>
<tr class="separator:aa02ca9ff874c40c44da9acd6d4f20851 inherit pub_types_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:aac470a2ddbd1f3ddaa4b6f5eeb399f61"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aac470a2ddbd1f3ddaa4b6f5eeb399f61">OctreePointCloudCompression</a> (compression_Profiles_e compressionProfile_arg=MED_RES_ONLINE_COMPRESSION_WITH_COLOR, bool showStatistics_arg=false, const double pointResolution_arg=0.001, const double octreeResolution_arg=0.01, bool doVoxelGridDownDownSampling_arg=false, const unsigned int iFrameRate_arg=30, bool doColorEncoding_arg=true, const unsigned char colorBitResolution_arg=6)</td></tr>
<tr class="memdesc:aac470a2ddbd1f3ddaa4b6f5eeb399f61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aac470a2ddbd1f3ddaa4b6f5eeb399f61">更多...</a><br /></td></tr>
<tr class="separator:aac470a2ddbd1f3ddaa4b6f5eeb399f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a666bcd6d5523a142041f8dab068014b3"><td class="memItemLeft" align="right" valign="top"><a id="a666bcd6d5523a142041f8dab068014b3"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a666bcd6d5523a142041f8dab068014b3">~OctreePointCloudCompression</a> ()</td></tr>
<tr class="memdesc:a666bcd6d5523a142041f8dab068014b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty deconstructor. <br /></td></tr>
<tr class="separator:a666bcd6d5523a142041f8dab068014b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3343a4cfc17fb5c3bbf03553c3c62f4"><td class="memItemLeft" align="right" valign="top"><a id="ab3343a4cfc17fb5c3bbf03553c3c62f4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ab3343a4cfc17fb5c3bbf03553c3c62f4">initialization</a> ()</td></tr>
<tr class="memdesc:ab3343a4cfc17fb5c3bbf03553c3c62f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize globals <br /></td></tr>
<tr class="separator:ab3343a4cfc17fb5c3bbf03553c3c62f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af57e000fea506a493bcd7ead63b9e1ea"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#af57e000fea506a493bcd7ead63b9e1ea">addPointIdx</a> (const int pointIdx_arg)</td></tr>
<tr class="memdesc:af57e000fea506a493bcd7ead63b9e1ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add point at index from input pointcloud dataset to octree  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#af57e000fea506a493bcd7ead63b9e1ea">更多...</a><br /></td></tr>
<tr class="separator:af57e000fea506a493bcd7ead63b9e1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c67c92f45645e9feaa9908b7a6854ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a8c67c92f45645e9feaa9908b7a6854ef">setOutputCloud</a> (const PointCloudPtr &amp;cloud_arg)</td></tr>
<tr class="memdesc:a8c67c92f45645e9feaa9908b7a6854ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the output data set.  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a8c67c92f45645e9feaa9908b7a6854ef">更多...</a><br /></td></tr>
<tr class="separator:a8c67c92f45645e9feaa9908b7a6854ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1d2c2bba05c7fab6e75d4cf2a45e33b"><td class="memItemLeft" align="right" valign="top">PointCloudPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aa1d2c2bba05c7fab6e75d4cf2a45e33b">getOutputCloud</a> () const</td></tr>
<tr class="memdesc:aa1d2c2bba05c7fab6e75d4cf2a45e33b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the output point cloud dataset.  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aa1d2c2bba05c7fab6e75d4cf2a45e33b">更多...</a><br /></td></tr>
<tr class="separator:aa1d2c2bba05c7fab6e75d4cf2a45e33b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0130ade92487d1ac634ec7221aae85b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a0130ade92487d1ac634ec7221aae85b8">encodePointCloud</a> (const PointCloudConstPtr &amp;cloud_arg, std::ostream &amp;compressed_tree_data_out_arg)</td></tr>
<tr class="memdesc:a0130ade92487d1ac634ec7221aae85b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode point cloud to output stream  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a0130ade92487d1ac634ec7221aae85b8">更多...</a><br /></td></tr>
<tr class="separator:a0130ade92487d1ac634ec7221aae85b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ef445a1b19d3f21ca90481070aa59cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a9ef445a1b19d3f21ca90481070aa59cb">decodePointCloud</a> (std::istream &amp;compressed_tree_data_in_arg, PointCloudPtr &amp;cloud_arg)</td></tr>
<tr class="memdesc:a9ef445a1b19d3f21ca90481070aa59cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode point cloud from input stream  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a9ef445a1b19d3f21ca90481070aa59cb">更多...</a><br /></td></tr>
<tr class="separator:a9ef445a1b19d3f21ca90481070aa59cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1octree_1_1_octree_point_cloud')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;</a></td></tr>
<tr class="memitem:a4ebc0e3994827277f01fe12cb4fe8c2a inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a4ebc0e3994827277f01fe12cb4fe8c2a">OctreePointCloud</a> (const double resolution_arg)</td></tr>
<tr class="memdesc:a4ebc0e3994827277f01fe12cb4fe8c2a inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Octree pointcloud constructor.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a4ebc0e3994827277f01fe12cb4fe8c2a">更多...</a><br /></td></tr>
<tr class="separator:a4ebc0e3994827277f01fe12cb4fe8c2a inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8478220f036bebf326d52d0aa9812b7 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ab8478220f036bebf326d52d0aa9812b7"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ab8478220f036bebf326d52d0aa9812b7">~OctreePointCloud</a> ()</td></tr>
<tr class="memdesc:ab8478220f036bebf326d52d0aa9812b7 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty deconstructor. <br /></td></tr>
<tr class="separator:ab8478220f036bebf326d52d0aa9812b7 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87cad20428de876fcf789e674a39f503 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a87cad20428de876fcf789e674a39f503">setInputCloud</a> (const PointCloudConstPtr &amp;cloud_arg, const IndicesConstPtr &amp;indices_arg=IndicesConstPtr())</td></tr>
<tr class="memdesc:a87cad20428de876fcf789e674a39f503 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input data set.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a87cad20428de876fcf789e674a39f503">更多...</a><br /></td></tr>
<tr class="separator:a87cad20428de876fcf789e674a39f503 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2d8677cb9862db3dbb3469dea11448a inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">IndicesConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ad2d8677cb9862db3dbb3469dea11448a">getIndices</a> () const</td></tr>
<tr class="memdesc:ad2d8677cb9862db3dbb3469dea11448a inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ad2d8677cb9862db3dbb3469dea11448a">更多...</a><br /></td></tr>
<tr class="separator:ad2d8677cb9862db3dbb3469dea11448a inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3755f9b861d4087c1b1bc1ab1bca1115 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a3755f9b861d4087c1b1bc1ab1bca1115">getInputCloud</a> () const</td></tr>
<tr class="memdesc:a3755f9b861d4087c1b1bc1ab1bca1115 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a3755f9b861d4087c1b1bc1ab1bca1115">更多...</a><br /></td></tr>
<tr class="separator:a3755f9b861d4087c1b1bc1ab1bca1115 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ed1b43b1e139f916c4908ee4407a9a0 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a6ed1b43b1e139f916c4908ee4407a9a0">setEpsilon</a> (double eps)</td></tr>
<tr class="memdesc:a6ed1b43b1e139f916c4908ee4407a9a0 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the search epsilon precision (error bound) for nearest neighbors searches.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a6ed1b43b1e139f916c4908ee4407a9a0">更多...</a><br /></td></tr>
<tr class="separator:a6ed1b43b1e139f916c4908ee4407a9a0 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79537fd6e4e322a6cb3828aef64ab692 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a79537fd6e4e322a6cb3828aef64ab692"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a79537fd6e4e322a6cb3828aef64ab692">getEpsilon</a> () const</td></tr>
<tr class="memdesc:a79537fd6e4e322a6cb3828aef64ab692 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the search epsilon precision (error bound) for nearest neighbors searches. <br /></td></tr>
<tr class="separator:a79537fd6e4e322a6cb3828aef64ab692 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95a51d4834c204e02fd12b48d0c37a6f inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a95a51d4834c204e02fd12b48d0c37a6f">setResolution</a> (double resolution_arg)</td></tr>
<tr class="memdesc:a95a51d4834c204e02fd12b48d0c37a6f inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set/change the octree voxel resolution  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a95a51d4834c204e02fd12b48d0c37a6f">更多...</a><br /></td></tr>
<tr class="separator:a95a51d4834c204e02fd12b48d0c37a6f inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeb6c759054a883ef7e709591d0be3e3 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#aaeb6c759054a883ef7e709591d0be3e3">getResolution</a> () const</td></tr>
<tr class="memdesc:aaeb6c759054a883ef7e709591d0be3e3 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get octree voxel resolution  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#aaeb6c759054a883ef7e709591d0be3e3">更多...</a><br /></td></tr>
<tr class="separator:aaeb6c759054a883ef7e709591d0be3e3 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae99e636dcd717b62e78a4a12ba9f183f inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ae99e636dcd717b62e78a4a12ba9f183f">getTreeDepth</a> () const</td></tr>
<tr class="memdesc:ae99e636dcd717b62e78a4a12ba9f183f inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum depth of the octree.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ae99e636dcd717b62e78a4a12ba9f183f">更多...</a><br /></td></tr>
<tr class="separator:ae99e636dcd717b62e78a4a12ba9f183f inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac477d9477e781d980709b1e8886d2c7c inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ac477d9477e781d980709b1e8886d2c7c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ac477d9477e781d980709b1e8886d2c7c">addPointsFromInputCloud</a> ()</td></tr>
<tr class="memdesc:ac477d9477e781d980709b1e8886d2c7c inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add points from input point cloud to octree. <br /></td></tr>
<tr class="separator:ac477d9477e781d980709b1e8886d2c7c inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac740d5e678cca7d165771f0c9e480050 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ac740d5e678cca7d165771f0c9e480050">addPointFromCloud</a> (const int point_idx_arg, IndicesPtr indices_arg)</td></tr>
<tr class="memdesc:ac740d5e678cca7d165771f0c9e480050 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add point at given index from input point cloud to octree. Index will be also added to indices vector.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ac740d5e678cca7d165771f0c9e480050">更多...</a><br /></td></tr>
<tr class="separator:ac740d5e678cca7d165771f0c9e480050 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53d42efe80b3083dc5b703ea9dd7c9af inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a53d42efe80b3083dc5b703ea9dd7c9af">addPointToCloud</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_arg, PointCloudPtr cloud_arg)</td></tr>
<tr class="memdesc:a53d42efe80b3083dc5b703ea9dd7c9af inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add point simultaneously to octree and input point cloud.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a53d42efe80b3083dc5b703ea9dd7c9af">更多...</a><br /></td></tr>
<tr class="separator:a53d42efe80b3083dc5b703ea9dd7c9af inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa204be6055c6e686bbe2bb11ece439db inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#aa204be6055c6e686bbe2bb11ece439db">addPointToCloud</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_arg, PointCloudPtr cloud_arg, IndicesPtr indices_arg)</td></tr>
<tr class="memdesc:aa204be6055c6e686bbe2bb11ece439db inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add point simultaneously to octree and input point cloud. A corresponding index will be added to the indices vector.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#aa204be6055c6e686bbe2bb11ece439db">更多...</a><br /></td></tr>
<tr class="separator:aa204be6055c6e686bbe2bb11ece439db inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a2aff164921146fd82c192d73e2f155 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a9a2aff164921146fd82c192d73e2f155">isVoxelOccupiedAtPoint</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_arg) const</td></tr>
<tr class="memdesc:a9a2aff164921146fd82c192d73e2f155 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if voxel at given point exist.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a9a2aff164921146fd82c192d73e2f155">更多...</a><br /></td></tr>
<tr class="separator:a9a2aff164921146fd82c192d73e2f155 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93dbefe4a23e8083f6e3bba2eab22e0c inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a93dbefe4a23e8083f6e3bba2eab22e0c">isVoxelOccupiedAtPoint</a> (const double point_x_arg, const double point_y_arg, const double point_z_arg) const</td></tr>
<tr class="memdesc:a93dbefe4a23e8083f6e3bba2eab22e0c inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if voxel at given point coordinates exist.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a93dbefe4a23e8083f6e3bba2eab22e0c">更多...</a><br /></td></tr>
<tr class="separator:a93dbefe4a23e8083f6e3bba2eab22e0c inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75d0265301eeb2ba907cd1f2e002eca7 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a75d0265301eeb2ba907cd1f2e002eca7">isVoxelOccupiedAtPoint</a> (const int &amp;point_idx_arg) const</td></tr>
<tr class="memdesc:a75d0265301eeb2ba907cd1f2e002eca7 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if voxel at given point from input cloud exist.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a75d0265301eeb2ba907cd1f2e002eca7">更多...</a><br /></td></tr>
<tr class="separator:a75d0265301eeb2ba907cd1f2e002eca7 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2661ae14c070f3abca50c759d7c0c465 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a2661ae14c070f3abca50c759d7c0c465"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a2661ae14c070f3abca50c759d7c0c465">deleteTree</a> ()</td></tr>
<tr class="memdesc:a2661ae14c070f3abca50c759d7c0c465 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the octree structure and its leaf nodes. <br /></td></tr>
<tr class="separator:a2661ae14c070f3abca50c759d7c0c465 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb3e4301c89ea5011a1a1167800a57b3 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#abb3e4301c89ea5011a1a1167800a57b3">getOccupiedVoxelCenters</a> (AlignedPointTVector &amp;voxel_center_list_arg) const</td></tr>
<tr class="memdesc:abb3e4301c89ea5011a1a1167800a57b3 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a PointT vector of centers of all occupied voxels.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#abb3e4301c89ea5011a1a1167800a57b3">更多...</a><br /></td></tr>
<tr class="separator:abb3e4301c89ea5011a1a1167800a57b3 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2fe606c6ea7b413949b96e4ba4b22d7 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ac2fe606c6ea7b413949b96e4ba4b22d7">getApproxIntersectedVoxelCentersBySegment</a> (const Eigen::Vector3f &amp;origin, const Eigen::Vector3f &amp;end, AlignedPointTVector &amp;voxel_center_list, float precision=0.2)</td></tr>
<tr class="memdesc:ac2fe606c6ea7b413949b96e4ba4b22d7 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a PointT vector of centers of voxels intersected by a line segment. This returns a approximation of the actual intersected voxels by walking along the line with small steps. Voxels are ordered, from closest to furthest w.r.t. the origin.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ac2fe606c6ea7b413949b96e4ba4b22d7">更多...</a><br /></td></tr>
<tr class="separator:ac2fe606c6ea7b413949b96e4ba4b22d7 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2edc37d578faf79346d3fa74b18de194 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a2edc37d578faf79346d3fa74b18de194">deleteVoxelAtPoint</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_arg)</td></tr>
<tr class="memdesc:a2edc37d578faf79346d3fa74b18de194 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete leaf node / voxel at given point  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a2edc37d578faf79346d3fa74b18de194">更多...</a><br /></td></tr>
<tr class="separator:a2edc37d578faf79346d3fa74b18de194 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03616f25c07af456a3f96e87371f152e inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a03616f25c07af456a3f96e87371f152e">deleteVoxelAtPoint</a> (const int &amp;point_idx_arg)</td></tr>
<tr class="memdesc:a03616f25c07af456a3f96e87371f152e inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete leaf node / voxel at given point from input cloud  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a03616f25c07af456a3f96e87371f152e">更多...</a><br /></td></tr>
<tr class="separator:a03616f25c07af456a3f96e87371f152e inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bc46426ce1b55cfd0a32063ada08613 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a7bc46426ce1b55cfd0a32063ada08613"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a7bc46426ce1b55cfd0a32063ada08613">defineBoundingBox</a> ()</td></tr>
<tr class="memdesc:a7bc46426ce1b55cfd0a32063ada08613 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Investigate dimensions of pointcloud data set and define corresponding bounding box for octree. <br /></td></tr>
<tr class="separator:a7bc46426ce1b55cfd0a32063ada08613 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17efabbe9a60f396212030999b9019b4 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a17efabbe9a60f396212030999b9019b4">defineBoundingBox</a> (const double min_x_arg, const double min_y_arg, const double min_z_arg, const double max_x_arg, const double max_y_arg, const double max_z_arg)</td></tr>
<tr class="memdesc:a17efabbe9a60f396212030999b9019b4 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define bounding box for octree  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a17efabbe9a60f396212030999b9019b4">更多...</a><br /></td></tr>
<tr class="separator:a17efabbe9a60f396212030999b9019b4 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4b5da82dcdb17bfc47a7e727002a35d inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ad4b5da82dcdb17bfc47a7e727002a35d">defineBoundingBox</a> (const double max_x_arg, const double max_y_arg, const double max_z_arg)</td></tr>
<tr class="memdesc:ad4b5da82dcdb17bfc47a7e727002a35d inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define bounding box for octree  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ad4b5da82dcdb17bfc47a7e727002a35d">更多...</a><br /></td></tr>
<tr class="separator:ad4b5da82dcdb17bfc47a7e727002a35d inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab45d8debd181db309b2283ae22a27c58 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ab45d8debd181db309b2283ae22a27c58">defineBoundingBox</a> (const double cubeLen_arg)</td></tr>
<tr class="memdesc:ab45d8debd181db309b2283ae22a27c58 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define bounding box cube for octree  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ab45d8debd181db309b2283ae22a27c58">更多...</a><br /></td></tr>
<tr class="separator:ab45d8debd181db309b2283ae22a27c58 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc10f5df5244d371c4136f09b37cd685 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#adc10f5df5244d371c4136f09b37cd685">getBoundingBox</a> (double &amp;min_x_arg, double &amp;min_y_arg, double &amp;min_z_arg, double &amp;max_x_arg, double &amp;max_y_arg, double &amp;max_z_arg) const</td></tr>
<tr class="memdesc:adc10f5df5244d371c4136f09b37cd685 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get bounding box for octree  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#adc10f5df5244d371c4136f09b37cd685">更多...</a><br /></td></tr>
<tr class="separator:adc10f5df5244d371c4136f09b37cd685 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2c5e918883e8a4a4d4c9d017bff900c inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ab2c5e918883e8a4a4d4c9d017bff900c">getVoxelSquaredDiameter</a> (unsigned int tree_depth_arg) const</td></tr>
<tr class="memdesc:ab2c5e918883e8a4a4d4c9d017bff900c inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the squared diameter of a voxel at given tree depth  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ab2c5e918883e8a4a4d4c9d017bff900c">更多...</a><br /></td></tr>
<tr class="separator:ab2c5e918883e8a4a4d4c9d017bff900c inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a040db2cc8b3dcf73cdb4bea4fd37d53a inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a040db2cc8b3dcf73cdb4bea4fd37d53a">getVoxelSquaredDiameter</a> () const</td></tr>
<tr class="memdesc:a040db2cc8b3dcf73cdb4bea4fd37d53a inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the squared diameter of a voxel at leaf depth  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a040db2cc8b3dcf73cdb4bea4fd37d53a">更多...</a><br /></td></tr>
<tr class="separator:a040db2cc8b3dcf73cdb4bea4fd37d53a inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab16d0a5d8b0a383619e1d50d748b5e0f inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ab16d0a5d8b0a383619e1d50d748b5e0f">getVoxelSquaredSideLen</a> (unsigned int tree_depth_arg) const</td></tr>
<tr class="memdesc:ab16d0a5d8b0a383619e1d50d748b5e0f inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the squared voxel cube side length at given tree depth  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ab16d0a5d8b0a383619e1d50d748b5e0f">更多...</a><br /></td></tr>
<tr class="separator:ab16d0a5d8b0a383619e1d50d748b5e0f inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e56f5f63f8e230d71a4716f8c420ebf inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a8e56f5f63f8e230d71a4716f8c420ebf">getVoxelSquaredSideLen</a> () const</td></tr>
<tr class="memdesc:a8e56f5f63f8e230d71a4716f8c420ebf inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the squared voxel cube side length at leaf level  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a8e56f5f63f8e230d71a4716f8c420ebf">更多...</a><br /></td></tr>
<tr class="separator:a8e56f5f63f8e230d71a4716f8c420ebf inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad15791e2de5823745260f812b4c65e06 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ad15791e2de5823745260f812b4c65e06">getVoxelBounds</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_iterator_base.html">OctreeIteratorBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a>&lt; <a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a>, <a class="el" href="classpcl_1_1octree_1_1_octree_container_empty.html">OctreeContainerEmpty</a> &gt; &gt; &amp;iterator, Eigen::Vector3f &amp;min_pt, Eigen::Vector3f &amp;max_pt) const</td></tr>
<tr class="memdesc:ad15791e2de5823745260f812b4c65e06 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate bounds of the current voxel of an octree iterator  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ad15791e2de5823745260f812b4c65e06">更多...</a><br /></td></tr>
<tr class="separator:ad15791e2de5823745260f812b4c65e06 inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a094e94679a5251f9da9b58169e51958e inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a094e94679a5251f9da9b58169e51958e">enableDynamicDepth</a> (size_t maxObjsPerLeaf)</td></tr>
<tr class="memdesc:a094e94679a5251f9da9b58169e51958e inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable dynamic octree structure  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a094e94679a5251f9da9b58169e51958e">更多...</a><br /></td></tr>
<tr class="separator:a094e94679a5251f9da9b58169e51958e inherit pub_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1octree_1_1_octree2_buf_base')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">pcl::octree::Octree2BufBase&lt; LeafContainerT, BranchContainerT &gt;</a></td></tr>
<tr class="memitem:ad3ccb307c8e9645875d35c2e3869d081 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="ad3ccb307c8e9645875d35c2e3869d081"></a>
<a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">Iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> (unsigned int max_depth_arg=0)</td></tr>
<tr class="separator:ad3ccb307c8e9645875d35c2e3869d081 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a905c5ed45f431a05f1e215718be5689d inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a905c5ed45f431a05f1e215718be5689d"></a>
const <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">Iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
<tr class="separator:a905c5ed45f431a05f1e215718be5689d inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a291c62037fdf49307eec1c8ef47e907b inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a291c62037fdf49307eec1c8ef47e907b"></a>
<a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node_iterator.html">LeafNodeIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>leaf_begin</b> (unsigned int max_depth_arg=0)</td></tr>
<tr class="separator:a291c62037fdf49307eec1c8ef47e907b inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2613a63aba37b05400d2e073404ac488 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a2613a63aba37b05400d2e073404ac488"></a>
const <a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node_iterator.html">LeafNodeIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>leaf_end</b> ()</td></tr>
<tr class="separator:a2613a63aba37b05400d2e073404ac488 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7be2dbe6969d55508a561a376a72d93 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="aa7be2dbe6969d55508a561a376a72d93"></a>
<a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">DepthFirstIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>depth_begin</b> (unsigned int maxDepth_arg=0)</td></tr>
<tr class="separator:aa7be2dbe6969d55508a561a376a72d93 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa38a090e83b32776ecc51a53b4910496 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="aa38a090e83b32776ecc51a53b4910496"></a>
const <a class="el" href="classpcl_1_1octree_1_1_octree_depth_first_iterator.html">DepthFirstIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>depth_end</b> ()</td></tr>
<tr class="separator:aa38a090e83b32776ecc51a53b4910496 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8833f4ec66a8113a7da8c6b387abb491 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a8833f4ec66a8113a7da8c6b387abb491"></a>
<a class="el" href="classpcl_1_1octree_1_1_octree_breadth_first_iterator.html">BreadthFirstIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>breadth_begin</b> (unsigned int max_depth_arg=0)</td></tr>
<tr class="separator:a8833f4ec66a8113a7da8c6b387abb491 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6a6eab9769e1555b5a66c9dc5b0c6ab inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="aa6a6eab9769e1555b5a66c9dc5b0c6ab"></a>
const <a class="el" href="classpcl_1_1octree_1_1_octree_breadth_first_iterator.html">BreadthFirstIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>breadth_end</b> ()</td></tr>
<tr class="separator:aa6a6eab9769e1555b5a66c9dc5b0c6ab inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea7ecfd6ebe82e93d3c7bb869355502 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="aeea7ecfd6ebe82e93d3c7bb869355502"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#aeea7ecfd6ebe82e93d3c7bb869355502">Octree2BufBase</a> ()</td></tr>
<tr class="memdesc:aeea7ecfd6ebe82e93d3c7bb869355502 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:aeea7ecfd6ebe82e93d3c7bb869355502 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af38bf67eaa51c8bdfc3aafef8427bb43 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="af38bf67eaa51c8bdfc3aafef8427bb43"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#af38bf67eaa51c8bdfc3aafef8427bb43">~Octree2BufBase</a> ()</td></tr>
<tr class="memdesc:af38bf67eaa51c8bdfc3aafef8427bb43 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty deconstructor. <br /></td></tr>
<tr class="separator:af38bf67eaa51c8bdfc3aafef8427bb43 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a194a8c94974474dfc822504a09deaae2 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a194a8c94974474dfc822504a09deaae2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a194a8c94974474dfc822504a09deaae2">Octree2BufBase</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a> &amp;source)</td></tr>
<tr class="memdesc:a194a8c94974474dfc822504a09deaae2 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a194a8c94974474dfc822504a09deaae2 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af10777e6e93a13850a3c2dae28db432b inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="af10777e6e93a13850a3c2dae28db432b"></a>
<a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#af10777e6e93a13850a3c2dae28db432b">operator=</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">Octree2BufBase</a> &amp;source)</td></tr>
<tr class="memdesc:af10777e6e93a13850a3c2dae28db432b inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:af10777e6e93a13850a3c2dae28db432b inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70b703457f743d2cac00e30663c27bb1 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a70b703457f743d2cac00e30663c27bb1">setMaxVoxelIndex</a> (unsigned int max_voxel_index_arg)</td></tr>
<tr class="memdesc:a70b703457f743d2cac00e30663c27bb1 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum amount of voxels per dimension.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a70b703457f743d2cac00e30663c27bb1">更多...</a><br /></td></tr>
<tr class="separator:a70b703457f743d2cac00e30663c27bb1 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaca1aaba9d9413ecf37f66616ebf5ca2 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#aaca1aaba9d9413ecf37f66616ebf5ca2">setTreeDepth</a> (unsigned int depth_arg)</td></tr>
<tr class="memdesc:aaca1aaba9d9413ecf37f66616ebf5ca2 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum depth of the octree.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#aaca1aaba9d9413ecf37f66616ebf5ca2">更多...</a><br /></td></tr>
<tr class="separator:aaca1aaba9d9413ecf37f66616ebf5ca2 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33a76633142a350aec3abf4d855265f7 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a33a76633142a350aec3abf4d855265f7">getTreeDepth</a> () const</td></tr>
<tr class="memdesc:a33a76633142a350aec3abf4d855265f7 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum depth of the octree.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a33a76633142a350aec3abf4d855265f7">更多...</a><br /></td></tr>
<tr class="separator:a33a76633142a350aec3abf4d855265f7 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b59144bb291c178879513c2c5f5283c inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">LeafContainerT *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a2b59144bb291c178879513c2c5f5283c">createLeaf</a> (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg)</td></tr>
<tr class="memdesc:a2b59144bb291c178879513c2c5f5283c inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new leaf node at (idx_x_arg, idx_y_arg, idx_z_arg).  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a2b59144bb291c178879513c2c5f5283c">更多...</a><br /></td></tr>
<tr class="separator:a2b59144bb291c178879513c2c5f5283c inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e5834225c6ed85452fbad295497ffa5 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">LeafContainerT *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a3e5834225c6ed85452fbad295497ffa5">findLeaf</a> (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg)</td></tr>
<tr class="memdesc:a3e5834225c6ed85452fbad295497ffa5 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find leaf node at (idx_x_arg, idx_y_arg, idx_z_arg).  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a3e5834225c6ed85452fbad295497ffa5">更多...</a><br /></td></tr>
<tr class="separator:a3e5834225c6ed85452fbad295497ffa5 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bdd0fdf775f73746e15f15463051c07 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4bdd0fdf775f73746e15f15463051c07">existLeaf</a> (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg) const</td></tr>
<tr class="memdesc:a4bdd0fdf775f73746e15f15463051c07 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for the existence of leaf node at (idx_x_arg, idx_y_arg, idx_z_arg).  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4bdd0fdf775f73746e15f15463051c07">更多...</a><br /></td></tr>
<tr class="separator:a4bdd0fdf775f73746e15f15463051c07 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad52ba45870a26d8dd428e1f619d5ef0a inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#ad52ba45870a26d8dd428e1f619d5ef0a">removeLeaf</a> (unsigned int idx_x_arg, unsigned int idx_y_arg, unsigned int idx_z_arg)</td></tr>
<tr class="memdesc:ad52ba45870a26d8dd428e1f619d5ef0a inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove leaf node at (idx_x_arg, idx_y_arg, idx_z_arg).  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#ad52ba45870a26d8dd428e1f619d5ef0a">更多...</a><br /></td></tr>
<tr class="separator:ad52ba45870a26d8dd428e1f619d5ef0a inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30097068e7d729677aa4e84fdf46261e inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a30097068e7d729677aa4e84fdf46261e">getLeafCount</a> () const</td></tr>
<tr class="memdesc:a30097068e7d729677aa4e84fdf46261e inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the amount of existing leafs in the octree.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a30097068e7d729677aa4e84fdf46261e">更多...</a><br /></td></tr>
<tr class="separator:a30097068e7d729677aa4e84fdf46261e inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca11d3801c77ccb9cd55e5569f5a5455 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#aca11d3801c77ccb9cd55e5569f5a5455">getBranchCount</a> () const</td></tr>
<tr class="memdesc:aca11d3801c77ccb9cd55e5569f5a5455 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the amount of existing branches in the octree.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#aca11d3801c77ccb9cd55e5569f5a5455">更多...</a><br /></td></tr>
<tr class="separator:aca11d3801c77ccb9cd55e5569f5a5455 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55fc9b096111612ae15ad340fa27bd6c inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a55fc9b096111612ae15ad340fa27bd6c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a55fc9b096111612ae15ad340fa27bd6c">deleteTree</a> ()</td></tr>
<tr class="memdesc:a55fc9b096111612ae15ad340fa27bd6c inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the octree structure and its leaf nodes. <br /></td></tr>
<tr class="separator:a55fc9b096111612ae15ad340fa27bd6c inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a751cd72b2cae587ca98acae959d25dfa inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a751cd72b2cae587ca98acae959d25dfa"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a751cd72b2cae587ca98acae959d25dfa">deletePreviousBuffer</a> ()</td></tr>
<tr class="memdesc:a751cd72b2cae587ca98acae959d25dfa inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete octree structure of previous buffer. <br /></td></tr>
<tr class="separator:a751cd72b2cae587ca98acae959d25dfa inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65d3b99e662a2aa09bca313c01f8fee3 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a65d3b99e662a2aa09bca313c01f8fee3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a65d3b99e662a2aa09bca313c01f8fee3">deleteCurrentBuffer</a> ()</td></tr>
<tr class="memdesc:a65d3b99e662a2aa09bca313c01f8fee3 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the octree structure in the current buffer. <br /></td></tr>
<tr class="separator:a65d3b99e662a2aa09bca313c01f8fee3 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2574de24826df36a1071efdf41843e55 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a2574de24826df36a1071efdf41843e55"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a2574de24826df36a1071efdf41843e55">switchBuffers</a> ()</td></tr>
<tr class="memdesc:a2574de24826df36a1071efdf41843e55 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Switch buffers and reset current octree structure. <br /></td></tr>
<tr class="separator:a2574de24826df36a1071efdf41843e55 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ab50312544738fbcb2dcec19be7d1c0 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4ab50312544738fbcb2dcec19be7d1c0">serializeTree</a> (std::vector&lt; char &gt; &amp;binary_tree_out_arg, bool do_XOR_encoding_arg=false)</td></tr>
<tr class="memdesc:a4ab50312544738fbcb2dcec19be7d1c0 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize octree into a binary output vector describing its branch node structure.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4ab50312544738fbcb2dcec19be7d1c0">更多...</a><br /></td></tr>
<tr class="separator:a4ab50312544738fbcb2dcec19be7d1c0 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1888556d69a9ec1bf8ac50f722c62be1 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a1888556d69a9ec1bf8ac50f722c62be1">serializeTree</a> (std::vector&lt; char &gt; &amp;binary_tree_out_arg, std::vector&lt; LeafContainerT * &gt; &amp;leaf_container_vector_arg, bool do_XOR_encoding_arg=false)</td></tr>
<tr class="memdesc:a1888556d69a9ec1bf8ac50f722c62be1 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize octree into a binary output vector describing its branch node structure and and push all DataT elements stored in the octree to a vector.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a1888556d69a9ec1bf8ac50f722c62be1">更多...</a><br /></td></tr>
<tr class="separator:a1888556d69a9ec1bf8ac50f722c62be1 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a167942a5a0601a8cc1c15fcf26232acf inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a167942a5a0601a8cc1c15fcf26232acf">serializeLeafs</a> (std::vector&lt; LeafContainerT * &gt; &amp;leaf_container_vector_arg)</td></tr>
<tr class="memdesc:a167942a5a0601a8cc1c15fcf26232acf inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a vector of all DataT elements that are stored within the octree leaf nodes.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a167942a5a0601a8cc1c15fcf26232acf">更多...</a><br /></td></tr>
<tr class="separator:a167942a5a0601a8cc1c15fcf26232acf inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb0d130018cef2b721638ff2d6d49f5f inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#acb0d130018cef2b721638ff2d6d49f5f">serializeNewLeafs</a> (std::vector&lt; LeafContainerT * &gt; &amp;leaf_container_vector_arg)</td></tr>
<tr class="memdesc:acb0d130018cef2b721638ff2d6d49f5f inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a vector of all DataT elements from leaf nodes, that do not exist in the previous octree buffer.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#acb0d130018cef2b721638ff2d6d49f5f">更多...</a><br /></td></tr>
<tr class="separator:acb0d130018cef2b721638ff2d6d49f5f inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72c3d318307f1bbffc131076f45733a6 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a72c3d318307f1bbffc131076f45733a6">deserializeTree</a> (std::vector&lt; char &gt; &amp;binary_tree_in_arg, bool do_XOR_decoding_arg=false)</td></tr>
<tr class="memdesc:a72c3d318307f1bbffc131076f45733a6 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize a binary octree description vector and create a corresponding octree structure. Leaf nodes are initialized with getDataTByKey(..).  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a72c3d318307f1bbffc131076f45733a6">更多...</a><br /></td></tr>
<tr class="separator:a72c3d318307f1bbffc131076f45733a6 inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f19cf482b97afa875ef521d51b41e4a inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a9f19cf482b97afa875ef521d51b41e4a">deserializeTree</a> (std::vector&lt; char &gt; &amp;binary_tree_in_arg, std::vector&lt; LeafContainerT * &gt; &amp;leaf_container_vector_arg, bool do_XOR_decoding_arg=false)</td></tr>
<tr class="memdesc:a9f19cf482b97afa875ef521d51b41e4a inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize a binary octree description and create a corresponding octree structure. Leaf nodes are initialized with DataT elements from the dataVector.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a9f19cf482b97afa875ef521d51b41e4a">更多...</a><br /></td></tr>
<tr class="separator:a9f19cf482b97afa875ef521d51b41e4a inherit pub_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:a615433bb22086ab1a06fd75a23fb7da8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a615433bb22086ab1a06fd75a23fb7da8">writeFrameHeader</a> (std::ostream &amp;compressed_tree_data_out_arg)</td></tr>
<tr class="memdesc:a615433bb22086ab1a06fd75a23fb7da8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write frame information to output stream  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a615433bb22086ab1a06fd75a23fb7da8">更多...</a><br /></td></tr>
<tr class="separator:a615433bb22086ab1a06fd75a23fb7da8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a479e4529536ba794a75939552d3e7cf2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a479e4529536ba794a75939552d3e7cf2">readFrameHeader</a> (std::istream &amp;compressed_tree_data_in_arg)</td></tr>
<tr class="memdesc:a479e4529536ba794a75939552d3e7cf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read frame information to output stream  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a479e4529536ba794a75939552d3e7cf2">更多...</a><br /></td></tr>
<tr class="separator:a479e4529536ba794a75939552d3e7cf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19e0ad29dc86b5bf1d89aa816039516c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a19e0ad29dc86b5bf1d89aa816039516c">syncToHeader</a> (std::istream &amp;compressed_tree_data_in_arg)</td></tr>
<tr class="memdesc:a19e0ad29dc86b5bf1d89aa816039516c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronize to frame header  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a19e0ad29dc86b5bf1d89aa816039516c">更多...</a><br /></td></tr>
<tr class="separator:a19e0ad29dc86b5bf1d89aa816039516c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a193a8f147d1e45a511ae6977863a4610"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a193a8f147d1e45a511ae6977863a4610">entropyEncoding</a> (std::ostream &amp;compressed_tree_data_out_arg)</td></tr>
<tr class="memdesc:a193a8f147d1e45a511ae6977863a4610"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply entropy encoding to encoded information and output to binary stream  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a193a8f147d1e45a511ae6977863a4610">更多...</a><br /></td></tr>
<tr class="separator:a193a8f147d1e45a511ae6977863a4610"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d57094fe71b73a76189139ec66ed00a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a8d57094fe71b73a76189139ec66ed00a">entropyDecoding</a> (std::istream &amp;compressed_tree_data_in_arg)</td></tr>
<tr class="memdesc:a8d57094fe71b73a76189139ec66ed00a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entropy decoding of input binary stream and output to information vectors  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a8d57094fe71b73a76189139ec66ed00a">更多...</a><br /></td></tr>
<tr class="separator:a8d57094fe71b73a76189139ec66ed00a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6acbe6be9d492002932c84e7d0d282c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ad6acbe6be9d492002932c84e7d0d282c">serializeTreeCallback</a> (LeafT &amp;leaf_arg, const OctreeKey &amp;key_arg)</td></tr>
<tr class="memdesc:ad6acbe6be9d492002932c84e7d0d282c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode leaf node information during serialization  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ad6acbe6be9d492002932c84e7d0d282c">更多...</a><br /></td></tr>
<tr class="separator:ad6acbe6be9d492002932c84e7d0d282c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80f6e719665e1cb435f006c5895ff91e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a80f6e719665e1cb435f006c5895ff91e">deserializeTreeCallback</a> (LeafT &amp;, const OctreeKey &amp;key_arg)</td></tr>
<tr class="memdesc:a80f6e719665e1cb435f006c5895ff91e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode leaf nodes information during deserialization  <a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a80f6e719665e1cb435f006c5895ff91e">更多...</a><br /></td></tr>
<tr class="separator:a80f6e719665e1cb435f006c5895ff91e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1octree_1_1_octree_point_cloud')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;</a></td></tr>
<tr class="memitem:a0504486d59659d8fe44257c2e46e159c inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a0504486d59659d8fe44257c2e46e159c">expandLeafNode</a> (<a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node.html">LeafNode</a> *leaf_node, <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *parent_branch, unsigned char child_idx, unsigned int depth_mask)</td></tr>
<tr class="memdesc:a0504486d59659d8fe44257c2e46e159c inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add point at index from input pointcloud dataset to octree  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a0504486d59659d8fe44257c2e46e159c">更多...</a><br /></td></tr>
<tr class="separator:a0504486d59659d8fe44257c2e46e159c inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa78eb05816a966b24bc939a6cfc625d3 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#aa78eb05816a966b24bc939a6cfc625d3">getPointByIndex</a> (const unsigned int index_arg) const</td></tr>
<tr class="memdesc:aa78eb05816a966b24bc939a6cfc625d3 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get point at index from input pointcloud dataset  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#aa78eb05816a966b24bc939a6cfc625d3">更多...</a><br /></td></tr>
<tr class="separator:aa78eb05816a966b24bc939a6cfc625d3 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a239ceacc6b608865fe053f26a1d5d6b6 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpcl_1_1octree_1_1_octree_container_point_indices.html">OctreeContainerPointIndices</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a239ceacc6b608865fe053f26a1d5d6b6">findLeafAtPoint</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_arg) const</td></tr>
<tr class="memdesc:a239ceacc6b608865fe053f26a1d5d6b6 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find octree leaf node at a given point  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a239ceacc6b608865fe053f26a1d5d6b6">更多...</a><br /></td></tr>
<tr class="separator:a239ceacc6b608865fe053f26a1d5d6b6 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0cbfcff86b8b2d544d98ffa4648d790 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="af0cbfcff86b8b2d544d98ffa4648d790"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#af0cbfcff86b8b2d544d98ffa4648d790">getKeyBitSize</a> ()</td></tr>
<tr class="memdesc:af0cbfcff86b8b2d544d98ffa4648d790 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define octree key setting and octree depth based on defined bounding box. <br /></td></tr>
<tr class="separator:af0cbfcff86b8b2d544d98ffa4648d790 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fd10260bace75f9c753ef42f74f9027 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a0fd10260bace75f9c753ef42f74f9027">adoptBoundingBoxToPoint</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_idx_arg)</td></tr>
<tr class="memdesc:a0fd10260bace75f9c753ef42f74f9027 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grow the bounding box/octree until point fits  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a0fd10260bace75f9c753ef42f74f9027">更多...</a><br /></td></tr>
<tr class="separator:a0fd10260bace75f9c753ef42f74f9027 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f377d439e78370a536d0fffd7c6a2a2 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a0f377d439e78370a536d0fffd7c6a2a2">isPointWithinBoundingBox</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_idx_arg) const</td></tr>
<tr class="memdesc:a0f377d439e78370a536d0fffd7c6a2a2 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if given point is within the bounding box of the octree  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a0f377d439e78370a536d0fffd7c6a2a2">更多...</a><br /></td></tr>
<tr class="separator:a0f377d439e78370a536d0fffd7c6a2a2 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad34b5c6655fdcf9ed4da21ac8a973e5f inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ad34b5c6655fdcf9ed4da21ac8a973e5f">genOctreeKeyforPoint</a> (const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_arg, <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg) const</td></tr>
<tr class="memdesc:ad34b5c6655fdcf9ed4da21ac8a973e5f inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate octree key for voxel at a given point  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ad34b5c6655fdcf9ed4da21ac8a973e5f">更多...</a><br /></td></tr>
<tr class="separator:ad34b5c6655fdcf9ed4da21ac8a973e5f inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0b9d5d8a304091f8b0e80f8bd76272e inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ab0b9d5d8a304091f8b0e80f8bd76272e">genOctreeKeyforPoint</a> (const double point_x_arg, const double point_y_arg, const double point_z_arg, <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg) const</td></tr>
<tr class="memdesc:ab0b9d5d8a304091f8b0e80f8bd76272e inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate octree key for voxel at a given point  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ab0b9d5d8a304091f8b0e80f8bd76272e">更多...</a><br /></td></tr>
<tr class="separator:ab0b9d5d8a304091f8b0e80f8bd76272e inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdabd2a68b1a3b73580e84269f155fad inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#afdabd2a68b1a3b73580e84269f155fad">genOctreeKeyForDataT</a> (const int &amp;data_arg, <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg) const</td></tr>
<tr class="memdesc:afdabd2a68b1a3b73580e84269f155fad inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual method for generating octree key for a given point index.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#afdabd2a68b1a3b73580e84269f155fad">更多...</a><br /></td></tr>
<tr class="separator:afdabd2a68b1a3b73580e84269f155fad inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a342788d493c7a2520009179a0e321d7b inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a342788d493c7a2520009179a0e321d7b">genLeafNodeCenterFromOctreeKey</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg, <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_arg) const</td></tr>
<tr class="memdesc:a342788d493c7a2520009179a0e321d7b inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a point at center of leaf node voxel  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a342788d493c7a2520009179a0e321d7b">更多...</a><br /></td></tr>
<tr class="separator:a342788d493c7a2520009179a0e321d7b inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bea8ca3b8fe7b5c28bce6ca0d636789 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a6bea8ca3b8fe7b5c28bce6ca0d636789">genVoxelCenterFromOctreeKey</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg, unsigned int tree_depth_arg, <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point_arg) const</td></tr>
<tr class="memdesc:a6bea8ca3b8fe7b5c28bce6ca0d636789 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a point at center of octree voxel at given tree level  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a6bea8ca3b8fe7b5c28bce6ca0d636789">更多...</a><br /></td></tr>
<tr class="separator:a6bea8ca3b8fe7b5c28bce6ca0d636789 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac63353c886559f6f801acb39147978a6 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ac63353c886559f6f801acb39147978a6">genVoxelBoundsFromOctreeKey</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg, unsigned int tree_depth_arg, Eigen::Vector3f &amp;min_pt, Eigen::Vector3f &amp;max_pt) const</td></tr>
<tr class="memdesc:ac63353c886559f6f801acb39147978a6 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate bounds of an octree voxel using octree key and tree depth arguments  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ac63353c886559f6f801acb39147978a6">更多...</a><br /></td></tr>
<tr class="separator:ac63353c886559f6f801acb39147978a6 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31091b92e65251fcb6c19b5f99215151 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a31091b92e65251fcb6c19b5f99215151">getOccupiedVoxelCentersRecursive</a> (const <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *node_arg, const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg, AlignedPointTVector &amp;voxel_center_list_arg) const</td></tr>
<tr class="memdesc:a31091b92e65251fcb6c19b5f99215151 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively search the tree for all leaf nodes and return a vector of voxel centers.  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a31091b92e65251fcb6c19b5f99215151">更多...</a><br /></td></tr>
<tr class="separator:a31091b92e65251fcb6c19b5f99215151 inherit pro_methods_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1octree_1_1_octree2_buf_base')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">pcl::octree::Octree2BufBase&lt; LeafContainerT, BranchContainerT &gt;</a></td></tr>
<tr class="memitem:a0b18cc9970d967a82b366884f5cadaf3 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a0b18cc9970d967a82b366884f5cadaf3"></a>
<a class="el" href="classpcl_1_1octree_1_1_octree_node.html">OctreeNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a0b18cc9970d967a82b366884f5cadaf3">getRootNode</a> () const</td></tr>
<tr class="memdesc:a0b18cc9970d967a82b366884f5cadaf3 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve root node <br /></td></tr>
<tr class="separator:a0b18cc9970d967a82b366884f5cadaf3 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15bcc57e4a3ac9173d494302b5e4846f inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">LeafContainerT *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a15bcc57e4a3ac9173d494302b5e4846f">findLeaf</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg) const</td></tr>
<tr class="memdesc:a15bcc57e4a3ac9173d494302b5e4846f inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find leaf node  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a15bcc57e4a3ac9173d494302b5e4846f">更多...</a><br /></td></tr>
<tr class="separator:a15bcc57e4a3ac9173d494302b5e4846f inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4966e60c74d0cc45b7848d6343b87a0 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">LeafContainerT *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#ab4966e60c74d0cc45b7848d6343b87a0">createLeaf</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg)</td></tr>
<tr class="memdesc:ab4966e60c74d0cc45b7848d6343b87a0 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a leaf node.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#ab4966e60c74d0cc45b7848d6343b87a0">更多...</a><br /></td></tr>
<tr class="separator:ab4966e60c74d0cc45b7848d6343b87a0 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba494be8477c3787990b7ecffcd820e2 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#aba494be8477c3787990b7ecffcd820e2">existLeaf</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg) const</td></tr>
<tr class="memdesc:aba494be8477c3787990b7ecffcd820e2 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for leaf not existance in the octree  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#aba494be8477c3787990b7ecffcd820e2">更多...</a><br /></td></tr>
<tr class="separator:aba494be8477c3787990b7ecffcd820e2 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56dcfee60b85003d20b367c7b0ab17e0 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a56dcfee60b85003d20b367c7b0ab17e0">removeLeaf</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg)</td></tr>
<tr class="memdesc:a56dcfee60b85003d20b367c7b0ab17e0 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove leaf node from octree  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a56dcfee60b85003d20b367c7b0ab17e0">更多...</a><br /></td></tr>
<tr class="separator:a56dcfee60b85003d20b367c7b0ab17e0 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f44fc78531827bd1e4eacb644c64fdb inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a6f44fc78531827bd1e4eacb644c64fdb">branchHasChild</a> (const <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg, unsigned char child_idx_arg) const</td></tr>
<tr class="memdesc:a6f44fc78531827bd1e4eacb644c64fdb inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if branch is pointing to a particular child node  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a6f44fc78531827bd1e4eacb644c64fdb">更多...</a><br /></td></tr>
<tr class="separator:a6f44fc78531827bd1e4eacb644c64fdb inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9b75e568e00984deca987571a445d3b inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpcl_1_1octree_1_1_octree_node.html">OctreeNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#aa9b75e568e00984deca987571a445d3b">getBranchChildPtr</a> (const <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg, unsigned char child_idx_arg) const</td></tr>
<tr class="memdesc:aa9b75e568e00984deca987571a445d3b inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a child node pointer for child node at child_idx.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#aa9b75e568e00984deca987571a445d3b">更多...</a><br /></td></tr>
<tr class="separator:aa9b75e568e00984deca987571a445d3b inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b93eff3d55ff668772dbeee7f273351 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a8b93eff3d55ff668772dbeee7f273351">setBranchChildPtr</a> (<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg, unsigned char child_idx_arg, <a class="el" href="classpcl_1_1octree_1_1_octree_node.html">OctreeNode</a> *new_child_arg)</td></tr>
<tr class="memdesc:a8b93eff3d55ff668772dbeee7f273351 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign new child node to branch  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a8b93eff3d55ff668772dbeee7f273351">更多...</a><br /></td></tr>
<tr class="separator:a8b93eff3d55ff668772dbeee7f273351 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a192cf5ae63df971b4c0c8059db79053f inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a192cf5ae63df971b4c0c8059db79053f">getBranchBitPattern</a> (const <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg) const</td></tr>
<tr class="memdesc:a192cf5ae63df971b4c0c8059db79053f inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate bit pattern reflecting the existence of child node pointers for current buffer  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a192cf5ae63df971b4c0c8059db79053f">更多...</a><br /></td></tr>
<tr class="separator:a192cf5ae63df971b4c0c8059db79053f inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d808f57dcd79f80d4d996c4d9c0156e inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4d808f57dcd79f80d4d996c4d9c0156e">getBranchBitPattern</a> (const <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg, unsigned char bufferSelector_arg) const</td></tr>
<tr class="memdesc:a4d808f57dcd79f80d4d996c4d9c0156e inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate bit pattern reflecting the existence of child node pointers in specific buffer  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4d808f57dcd79f80d4d996c4d9c0156e">更多...</a><br /></td></tr>
<tr class="separator:a4d808f57dcd79f80d4d996c4d9c0156e inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6929660951a1e75301f128ec387b3534 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a6929660951a1e75301f128ec387b3534">getBranchXORBitPattern</a> (const <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg) const</td></tr>
<tr class="memdesc:a6929660951a1e75301f128ec387b3534 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate XOR bit pattern reflecting differences between the two octree buffers  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a6929660951a1e75301f128ec387b3534">更多...</a><br /></td></tr>
<tr class="separator:a6929660951a1e75301f128ec387b3534 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a2fca8c9c60278a6ff01921ab17406a inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a0a2fca8c9c60278a6ff01921ab17406a">hasBranchChanges</a> (const <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg) const</td></tr>
<tr class="memdesc:a0a2fca8c9c60278a6ff01921ab17406a inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if branch changed between previous and current buffer  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a0a2fca8c9c60278a6ff01921ab17406a">更多...</a><br /></td></tr>
<tr class="separator:a0a2fca8c9c60278a6ff01921ab17406a inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75e6f417bc4e56b3741e03b83e431125 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a75e6f417bc4e56b3741e03b83e431125">deleteBranchChild</a> (<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg, unsigned char buffer_selector_arg, unsigned char child_idx_arg)</td></tr>
<tr class="memdesc:a75e6f417bc4e56b3741e03b83e431125 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete child node and all its subchilds from octree in specific buffer  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a75e6f417bc4e56b3741e03b83e431125">更多...</a><br /></td></tr>
<tr class="separator:a75e6f417bc4e56b3741e03b83e431125 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6857dab0aa03c5052a0b1c83c5c3b377 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a6857dab0aa03c5052a0b1c83c5c3b377">deleteBranchChild</a> (<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg, unsigned char child_idx_arg)</td></tr>
<tr class="memdesc:a6857dab0aa03c5052a0b1c83c5c3b377 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete child node and all its subchilds from octree in current buffer  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a6857dab0aa03c5052a0b1c83c5c3b377">更多...</a><br /></td></tr>
<tr class="separator:a6857dab0aa03c5052a0b1c83c5c3b377 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05eb0796c239e4998545ac182f804937 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a05eb0796c239e4998545ac182f804937">deleteBranch</a> (<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg)</td></tr>
<tr class="memdesc:a05eb0796c239e4998545ac182f804937 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete branch and all its subchilds from octree (both buffers)  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a05eb0796c239e4998545ac182f804937">更多...</a><br /></td></tr>
<tr class="separator:a05eb0796c239e4998545ac182f804937 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32ee92b40c29b9584fee04782efb1c15 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a32ee92b40c29b9584fee04782efb1c15">createBranchChild</a> (<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg, unsigned char child_idx_arg)</td></tr>
<tr class="memdesc:a32ee92b40c29b9584fee04782efb1c15 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch and add a new branch child to a branch class in current buffer  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a32ee92b40c29b9584fee04782efb1c15">更多...</a><br /></td></tr>
<tr class="separator:a32ee92b40c29b9584fee04782efb1c15 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0193ddc25ef5e3858b2b8fa002e51a86 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node.html">LeafNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a0193ddc25ef5e3858b2b8fa002e51a86">createLeafChild</a> (<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> &amp;branch_arg, unsigned char child_idx_arg)</td></tr>
<tr class="memdesc:a0193ddc25ef5e3858b2b8fa002e51a86 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch and add a new leaf child to a branch class  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a0193ddc25ef5e3858b2b8fa002e51a86">更多...</a><br /></td></tr>
<tr class="separator:a0193ddc25ef5e3858b2b8fa002e51a86 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8d912802822ab405316bdfb7b9bf05d inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#aa8d912802822ab405316bdfb7b9bf05d">createLeafRecursive</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg, unsigned int depth_mask_arg, <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *branch_arg, <a class="el" href="classpcl_1_1octree_1_1_octree_leaf_node.html">LeafNode</a> *&amp;return_leaf_arg, <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *&amp;parent_of_leaf_arg, bool branch_reset_arg=false)</td></tr>
<tr class="memdesc:aa8d912802822ab405316bdfb7b9bf05d inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a leaf node at octree key. If leaf node does already exist, it is returned.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#aa8d912802822ab405316bdfb7b9bf05d">更多...</a><br /></td></tr>
<tr class="separator:aa8d912802822ab405316bdfb7b9bf05d inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4ce238fbace7c54d8df99ca3f679f35 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#ae4ce238fbace7c54d8df99ca3f679f35">findLeafRecursive</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg, unsigned int depth_mask_arg, <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *branch_arg, LeafContainerT *&amp;result_arg) const</td></tr>
<tr class="memdesc:ae4ce238fbace7c54d8df99ca3f679f35 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively search for a given leaf node and return a pointer.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#ae4ce238fbace7c54d8df99ca3f679f35">更多...</a><br /></td></tr>
<tr class="separator:ae4ce238fbace7c54d8df99ca3f679f35 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0607f6e0f4619808849777eb6586c6e inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#af0607f6e0f4619808849777eb6586c6e">deleteLeafRecursive</a> (const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg, unsigned int depth_mask_arg, <a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *branch_arg)</td></tr>
<tr class="memdesc:af0607f6e0f4619808849777eb6586c6e inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively search and delete leaf node  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#af0607f6e0f4619808849777eb6586c6e">更多...</a><br /></td></tr>
<tr class="separator:af0607f6e0f4619808849777eb6586c6e inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cf255789af15b3766c7e5f327bcbb43 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a6cf255789af15b3766c7e5f327bcbb43">serializeTreeRecursive</a> (<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *branch_arg, <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg, std::vector&lt; char &gt; *binary_tree_out_arg, typename std::vector&lt; LeafContainerT * &gt; *leaf_container_vector_arg, bool do_XOR_encoding_arg=false, bool new_leafs_filter_arg=false)</td></tr>
<tr class="memdesc:a6cf255789af15b3766c7e5f327bcbb43 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively explore the octree and output binary octree description together with a vector of leaf node DataT content.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a6cf255789af15b3766c7e5f327bcbb43">更多...</a><br /></td></tr>
<tr class="separator:a6cf255789af15b3766c7e5f327bcbb43 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8e6e1bf5b3a7362b8588742f204ffda inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#ab8e6e1bf5b3a7362b8588742f204ffda">deserializeTreeRecursive</a> (<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *branch_arg, unsigned int depth_mask_arg, <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;key_arg, typename std::vector&lt; char &gt;::const_iterator &amp;binary_tree_in_it_arg, typename std::vector&lt; char &gt;::const_iterator &amp;binary_tree_in_it_end_arg, typename std::vector&lt; LeafContainerT * &gt;::const_iterator *leaf_container_vector_it_arg, typename std::vector&lt; LeafContainerT * &gt;::const_iterator *leaf_container_vector_it_end_arg, bool branch_reset_arg=false, bool do_XOR_decoding_arg=false)</td></tr>
<tr class="memdesc:ab8e6e1bf5b3a7362b8588742f204ffda inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rebuild an octree based on binary XOR octree description and DataT objects for leaf node initialization.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#ab8e6e1bf5b3a7362b8588742f204ffda">更多...</a><br /></td></tr>
<tr class="separator:ab8e6e1bf5b3a7362b8588742f204ffda inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf3bb65952c8c4e11bb51bbf05d0aab7 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="acf3bb65952c8c4e11bb51bbf05d0aab7"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#acf3bb65952c8c4e11bb51bbf05d0aab7">serializeTreeCallback</a> (LeafContainerT &amp;, const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;)</td></tr>
<tr class="memdesc:acf3bb65952c8c4e11bb51bbf05d0aab7 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback executed for every leaf node data during serialization <br /></td></tr>
<tr class="separator:acf3bb65952c8c4e11bb51bbf05d0aab7 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b8a10625ed223f3fc280648198359dd inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a6b8a10625ed223f3fc280648198359dd"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a6b8a10625ed223f3fc280648198359dd">deserializeTreeCallback</a> (LeafContainerT &amp;, const <a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a> &amp;)</td></tr>
<tr class="memdesc:a6b8a10625ed223f3fc280648198359dd inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback executed for every leaf node data during deserialization <br /></td></tr>
<tr class="separator:a6b8a10625ed223f3fc280648198359dd inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b13e62a99ccbae80249f3202bdcf19e inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4b13e62a99ccbae80249f3202bdcf19e">treeCleanUpRecursive</a> (<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *branch_arg)</td></tr>
<tr class="memdesc:a4b13e62a99ccbae80249f3202bdcf19e inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively explore the octree and remove unused branch and leaf nodes  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4b13e62a99ccbae80249f3202bdcf19e">更多...</a><br /></td></tr>
<tr class="separator:a4b13e62a99ccbae80249f3202bdcf19e inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ad52b712883298d7cb687692c8eb4ac inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a0ad52b712883298d7cb687692c8eb4ac">Log2</a> (double n_arg)</td></tr>
<tr class="memdesc:a0ad52b712883298d7cb687692c8eb4ac inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to calculate the binary logarithm  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a0ad52b712883298d7cb687692c8eb4ac">更多...</a><br /></td></tr>
<tr class="separator:a0ad52b712883298d7cb687692c8eb4ac inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a543591992f19e283f1429e14b59515b5 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a543591992f19e283f1429e14b59515b5">octreeCanResize</a> ()</td></tr>
<tr class="memdesc:a543591992f19e283f1429e14b59515b5 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if octree is able to dynamically change its depth. This is required for adaptive bounding box adjustment.  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a543591992f19e283f1429e14b59515b5">更多...</a><br /></td></tr>
<tr class="separator:a543591992f19e283f1429e14b59515b5 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86bfa6dbf345c17a65920406ca23d456 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a86bfa6dbf345c17a65920406ca23d456">printBinary</a> (char data_arg)</td></tr>
<tr class="memdesc:a86bfa6dbf345c17a65920406ca23d456 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints binary representation of a byte - used for debugging  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a86bfa6dbf345c17a65920406ca23d456">更多...</a><br /></td></tr>
<tr class="separator:a86bfa6dbf345c17a65920406ca23d456 inherit pro_methods_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:ac72607ca04e1885ab9bf65e7f3f49477"><td class="memItemLeft" align="right" valign="top"><a id="ac72607ca04e1885ab9bf65e7f3f49477"></a>
PointCloudPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a></td></tr>
<tr class="memdesc:ac72607ca04e1885ab9bf65e7f3f49477"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to output point cloud dataset. <br /></td></tr>
<tr class="separator:ac72607ca04e1885ab9bf65e7f3f49477"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae26463a7465be923d0987a6ad284a2f"><td class="memItemLeft" align="right" valign="top"><a id="aae26463a7465be923d0987a6ad284a2f"></a>
std::vector&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a></td></tr>
<tr class="memdesc:aae26463a7465be923d0987a6ad284a2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector for storing binary tree structure <br /></td></tr>
<tr class="separator:aae26463a7465be923d0987a6ad284a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e5b472065093162cae1062823732243"><td class="memItemLeft" align="right" valign="top"><a id="a7e5b472065093162cae1062823732243"></a>
std::vector&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a7e5b472065093162cae1062823732243">binary_color_tree_vector_</a></td></tr>
<tr class="memdesc:a7e5b472065093162cae1062823732243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interator on binary tree structure vector <br /></td></tr>
<tr class="separator:a7e5b472065093162cae1062823732243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca78c8958023c1ae49b026eb0f5bcdf6"><td class="memItemLeft" align="right" valign="top"><a id="aca78c8958023c1ae49b026eb0f5bcdf6"></a>
std::vector&lt; unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a></td></tr>
<tr class="memdesc:aca78c8958023c1ae49b026eb0f5bcdf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector for storing points per voxel information <br  />
 <br /></td></tr>
<tr class="separator:aca78c8958023c1ae49b026eb0f5bcdf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60c04620fae807dbddd76895124a9eb5"><td class="memItemLeft" align="right" valign="top"><a id="a60c04620fae807dbddd76895124a9eb5"></a>
std::vector&lt; unsigned int &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a60c04620fae807dbddd76895124a9eb5">point_count_data_vector_iterator_</a></td></tr>
<tr class="memdesc:a60c04620fae807dbddd76895124a9eb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interator on points per voxel vector <br /></td></tr>
<tr class="separator:a60c04620fae807dbddd76895124a9eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a210c9aa011e8797616c0548aa094612f"><td class="memItemLeft" align="right" valign="top"><a id="a210c9aa011e8797616c0548aa094612f"></a>
<a class="el" href="classpcl_1_1octree_1_1_color_coding.html">ColorCoding</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a></td></tr>
<tr class="memdesc:a210c9aa011e8797616c0548aa094612f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Color coding instance <br /></td></tr>
<tr class="separator:a210c9aa011e8797616c0548aa094612f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a665e46fd9b12feb9b42e44d9275d3ee0"><td class="memItemLeft" align="right" valign="top"><a id="a665e46fd9b12feb9b42e44d9275d3ee0"></a>
<a class="el" href="classpcl_1_1octree_1_1_point_coding.html">PointCoding</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a></td></tr>
<tr class="memdesc:a665e46fd9b12feb9b42e44d9275d3ee0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Point coding instance <br /></td></tr>
<tr class="separator:a665e46fd9b12feb9b42e44d9275d3ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a845ff8a27ce8f59b5d8ae73b0f2c1b74"><td class="memItemLeft" align="right" valign="top"><a id="a845ff8a27ce8f59b5d8ae73b0f2c1b74"></a>
<a class="el" href="classpcl_1_1_static_range_coder.html">StaticRangeCoder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a></td></tr>
<tr class="memdesc:a845ff8a27ce8f59b5d8ae73b0f2c1b74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static range coder instance <br /></td></tr>
<tr class="separator:a845ff8a27ce8f59b5d8ae73b0f2c1b74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad195285150c192521c9c8993e2a0e71a"><td class="memItemLeft" align="right" valign="top"><a id="ad195285150c192521c9c8993e2a0e71a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>do_voxel_grid_enDecoding_</b></td></tr>
<tr class="separator:ad195285150c192521c9c8993e2a0e71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedc8c6e1c9f49a7cfd84193bb786fc30"><td class="memItemLeft" align="right" valign="top"><a id="aedc8c6e1c9f49a7cfd84193bb786fc30"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>i_frame_rate_</b></td></tr>
<tr class="separator:aedc8c6e1c9f49a7cfd84193bb786fc30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07a9b1fe13bce051435ba4bdc1e546ef"><td class="memItemLeft" align="right" valign="top"><a id="a07a9b1fe13bce051435ba4bdc1e546ef"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>i_frame_counter_</b></td></tr>
<tr class="separator:a07a9b1fe13bce051435ba4bdc1e546ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a824cff8ddb94dee0140e6097cab706b2"><td class="memItemLeft" align="right" valign="top"><a id="a824cff8ddb94dee0140e6097cab706b2"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>frame_ID_</b></td></tr>
<tr class="separator:a824cff8ddb94dee0140e6097cab706b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73919de49c2ff4d8bb6af4afe2da260a"><td class="memItemLeft" align="right" valign="top"><a id="a73919de49c2ff4d8bb6af4afe2da260a"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>point_count_</b></td></tr>
<tr class="separator:a73919de49c2ff4d8bb6af4afe2da260a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af36a43d1b9b5dc49639610aa67ecc987"><td class="memItemLeft" align="right" valign="top"><a id="af36a43d1b9b5dc49639610aa67ecc987"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>i_frame_</b></td></tr>
<tr class="separator:af36a43d1b9b5dc49639610aa67ecc987"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd7d9b02524d833dab7386cad7c59edd"><td class="memItemLeft" align="right" valign="top"><a id="afd7d9b02524d833dab7386cad7c59edd"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>do_color_encoding_</b></td></tr>
<tr class="separator:afd7d9b02524d833dab7386cad7c59edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c63c09fdd8d579c9f8b284b114d6cb8"><td class="memItemLeft" align="right" valign="top"><a id="a1c63c09fdd8d579c9f8b284b114d6cb8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>cloud_with_color_</b></td></tr>
<tr class="separator:a1c63c09fdd8d579c9f8b284b114d6cb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72fec48dbcde9efa3aa58444aebabd9f"><td class="memItemLeft" align="right" valign="top"><a id="a72fec48dbcde9efa3aa58444aebabd9f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>data_with_color_</b></td></tr>
<tr class="separator:a72fec48dbcde9efa3aa58444aebabd9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0dc1bcfc8281a5ae01a969da41406ee"><td class="memItemLeft" align="right" valign="top"><a id="ae0dc1bcfc8281a5ae01a969da41406ee"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>point_color_offset_</b></td></tr>
<tr class="separator:ae0dc1bcfc8281a5ae01a969da41406ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad976836de22b29839bb465aa8cc622c6"><td class="memItemLeft" align="right" valign="top"><a id="ad976836de22b29839bb465aa8cc622c6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>b_show_statistics_</b></td></tr>
<tr class="separator:ad976836de22b29839bb465aa8cc622c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae12b99b3222a1590ee86261fe060cce5"><td class="memItemLeft" align="right" valign="top"><a id="ae12b99b3222a1590ee86261fe060cce5"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>compressed_point_data_len_</b></td></tr>
<tr class="separator:ae12b99b3222a1590ee86261fe060cce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe4f71ae4b1101cd07a2c46e320b1e82"><td class="memItemLeft" align="right" valign="top"><a id="afe4f71ae4b1101cd07a2c46e320b1e82"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>compressed_color_data_len_</b></td></tr>
<tr class="separator:afe4f71ae4b1101cd07a2c46e320b1e82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c463974b44c02f816a6ba13e88aa330"><td class="memItemLeft" align="right" valign="top"><a id="a2c463974b44c02f816a6ba13e88aa330"></a>
const compression_Profiles_e&#160;</td><td class="memItemRight" valign="bottom"><b>selected_profile_</b></td></tr>
<tr class="separator:a2c463974b44c02f816a6ba13e88aa330"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ecf7493803a4bbd5bedfd88161101a1"><td class="memItemLeft" align="right" valign="top"><a id="a9ecf7493803a4bbd5bedfd88161101a1"></a>
const double&#160;</td><td class="memItemRight" valign="bottom"><b>point_resolution_</b></td></tr>
<tr class="separator:a9ecf7493803a4bbd5bedfd88161101a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af079f873e797af01d60f6beab2b28808"><td class="memItemLeft" align="right" valign="top"><a id="af079f873e797af01d60f6beab2b28808"></a>
const double&#160;</td><td class="memItemRight" valign="bottom"><b>octree_resolution_</b></td></tr>
<tr class="separator:af079f873e797af01d60f6beab2b28808"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae8908956d431493bc59cc91469bf39b"><td class="memItemLeft" align="right" valign="top"><a id="aae8908956d431493bc59cc91469bf39b"></a>
const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>color_bit_resolution_</b></td></tr>
<tr class="separator:aae8908956d431493bc59cc91469bf39b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ff699cda947d0759d8a1f9bcb5f4bce"><td class="memItemLeft" align="right" valign="top"><a id="a0ff699cda947d0759d8a1f9bcb5f4bce"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>object_count_</b></td></tr>
<tr class="separator:a0ff699cda947d0759d8a1f9bcb5f4bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;</a></td></tr>
<tr class="memitem:a30c6002f19ebee3e5af733499254e2e3 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a30c6002f19ebee3e5af733499254e2e3"></a>
PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a30c6002f19ebee3e5af733499254e2e3">input_</a></td></tr>
<tr class="memdesc:a30c6002f19ebee3e5af733499254e2e3 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to input point cloud dataset. <br /></td></tr>
<tr class="separator:a30c6002f19ebee3e5af733499254e2e3 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fe0eb5fad27c0b3a615f9f6d372a82b inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a4fe0eb5fad27c0b3a615f9f6d372a82b"></a>
IndicesConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a4fe0eb5fad27c0b3a615f9f6d372a82b">indices_</a></td></tr>
<tr class="memdesc:a4fe0eb5fad27c0b3a615f9f6d372a82b inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the vector of point indices to use. <br /></td></tr>
<tr class="separator:a4fe0eb5fad27c0b3a615f9f6d372a82b inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9abbf2b0fedf04240be251def82a5b4 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="aa9abbf2b0fedf04240be251def82a5b4"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#aa9abbf2b0fedf04240be251def82a5b4">epsilon_</a></td></tr>
<tr class="memdesc:aa9abbf2b0fedf04240be251def82a5b4 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Epsilon precision (error bound) for nearest neighbors searches. <br /></td></tr>
<tr class="separator:aa9abbf2b0fedf04240be251def82a5b4 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada3e26017a2b5298846bcdd989feea98 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ada3e26017a2b5298846bcdd989feea98"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a></td></tr>
<tr class="memdesc:ada3e26017a2b5298846bcdd989feea98 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Octree resolution. <br /></td></tr>
<tr class="separator:ada3e26017a2b5298846bcdd989feea98 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dc33f2b512bad01de17e599f8279877 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a8dc33f2b512bad01de17e599f8279877"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>min_x_</b></td></tr>
<tr class="separator:a8dc33f2b512bad01de17e599f8279877 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae15a12d2a28bb61dfee5b336ccc636f0 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ae15a12d2a28bb61dfee5b336ccc636f0"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>max_x_</b></td></tr>
<tr class="separator:ae15a12d2a28bb61dfee5b336ccc636f0 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01c861f8af5a5a447af53be9763784c1 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a01c861f8af5a5a447af53be9763784c1"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>min_y_</b></td></tr>
<tr class="separator:a01c861f8af5a5a447af53be9763784c1 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a464b7adba4e590273e14858b44156000 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a464b7adba4e590273e14858b44156000"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>max_y_</b></td></tr>
<tr class="separator:a464b7adba4e590273e14858b44156000 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4968dfe99e33fd95718a92626a7ec89 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="ad4968dfe99e33fd95718a92626a7ec89"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>min_z_</b></td></tr>
<tr class="separator:ad4968dfe99e33fd95718a92626a7ec89 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08b309d509bac1ec31f0e0688877cee1 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a08b309d509bac1ec31f0e0688877cee1"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>max_z_</b></td></tr>
<tr class="separator:a08b309d509bac1ec31f0e0688877cee1 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71a8a024259c75f6365f262308af7d57 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top"><a id="a71a8a024259c75f6365f262308af7d57"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a71a8a024259c75f6365f262308af7d57">bounding_box_defined_</a></td></tr>
<tr class="memdesc:a71a8a024259c75f6365f262308af7d57 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating if octree has defined bounding box. <br /></td></tr>
<tr class="separator:a71a8a024259c75f6365f262308af7d57 inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a773a82c7c07e654e80bdca09f2fb9c inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a2a773a82c7c07e654e80bdca09f2fb9c">max_objs_per_leaf_</a></td></tr>
<tr class="memdesc:a2a773a82c7c07e654e80bdca09f2fb9c inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="mdescLeft">&#160;</td><td class="mdescRight">Amount of DataT objects per leafNode before expanding branch  <a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a2a773a82c7c07e654e80bdca09f2fb9c">更多...</a><br /></td></tr>
<tr class="separator:a2a773a82c7c07e654e80bdca09f2fb9c inherit pro_attribs_classpcl_1_1octree_1_1_octree_point_cloud"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">pcl::octree::Octree2BufBase&lt; LeafContainerT, BranchContainerT &gt;</a></td></tr>
<tr class="memitem:a3fea604145f48ddf459379e78666d194 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a3fea604145f48ddf459379e78666d194"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a3fea604145f48ddf459379e78666d194">leaf_count_</a></td></tr>
<tr class="memdesc:a3fea604145f48ddf459379e78666d194 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Amount of leaf nodes <br  />
 <br /></td></tr>
<tr class="separator:a3fea604145f48ddf459379e78666d194 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a916dc0e91da6e69cea660dc6888659a9 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a916dc0e91da6e69cea660dc6888659a9"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a916dc0e91da6e69cea660dc6888659a9">branch_count_</a></td></tr>
<tr class="memdesc:a916dc0e91da6e69cea660dc6888659a9 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Amount of branch nodes <br  />
 <br /></td></tr>
<tr class="separator:a916dc0e91da6e69cea660dc6888659a9 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ced5d5b658d5c86f3507a35aef47177 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a7ced5d5b658d5c86f3507a35aef47177"></a>
<a class="el" href="classpcl_1_1octree_1_1_buffered_branch_node.html">BranchNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a7ced5d5b658d5c86f3507a35aef47177">root_node_</a></td></tr>
<tr class="memdesc:a7ced5d5b658d5c86f3507a35aef47177 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to root branch node of octree <br  />
 <br /></td></tr>
<tr class="separator:a7ced5d5b658d5c86f3507a35aef47177 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cbfd23291f419d2bcdea61af33f4f5d inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a2cbfd23291f419d2bcdea61af33f4f5d"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a2cbfd23291f419d2bcdea61af33f4f5d">depth_mask_</a></td></tr>
<tr class="memdesc:a2cbfd23291f419d2bcdea61af33f4f5d inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Depth mask based on octree depth <br  />
 <br /></td></tr>
<tr class="separator:a2cbfd23291f419d2bcdea61af33f4f5d inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cdf089fb6ce268a539915026baa10c0 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a1cdf089fb6ce268a539915026baa10c0"></a>
<a class="el" href="classpcl_1_1octree_1_1_octree_key.html">OctreeKey</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a1cdf089fb6ce268a539915026baa10c0">max_key_</a></td></tr>
<tr class="memdesc:a1cdf089fb6ce268a539915026baa10c0 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">key range <br /></td></tr>
<tr class="separator:a1cdf089fb6ce268a539915026baa10c0 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c9cff0f907e60924afedfb4f38a1876 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a5c9cff0f907e60924afedfb4f38a1876"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a5c9cff0f907e60924afedfb4f38a1876">buffer_selector_</a></td></tr>
<tr class="memdesc:a5c9cff0f907e60924afedfb4f38a1876 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Currently active octree buffer <br  />
 <br /></td></tr>
<tr class="separator:a5c9cff0f907e60924afedfb4f38a1876 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8954ca75512c091c402dec704c56c8ce inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="a8954ca75512c091c402dec704c56c8ce"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>tree_dirty_flag_</b></td></tr>
<tr class="separator:a8954ca75512c091c402dec704c56c8ce inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c0c62c342048d64505d61940b1a4df inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top"><a id="ae1c0c62c342048d64505d61940b1a4df"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#ae1c0c62c342048d64505d61940b1a4df">octree_depth_</a></td></tr>
<tr class="memdesc:ae1c0c62c342048d64505d61940b1a4df inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Octree depth <br /></td></tr>
<tr class="separator:ae1c0c62c342048d64505d61940b1a4df inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b5f10ed867f8f662933e6615a698649 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a9b5f10ed867f8f662933e6615a698649">dynamic_depth_enabled_</a></td></tr>
<tr class="memdesc:a9b5f10ed867f8f662933e6615a698649 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable dynamic_depth  <a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a9b5f10ed867f8f662933e6615a698649">更多...</a><br /></td></tr>
<tr class="separator:a9b5f10ed867f8f662933e6615a698649 inherit pro_attribs_classpcl_1_1octree_1_1_octree2_buf_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
静态 Protected 属性</h2></td></tr>
<tr class="memitem:a3e76cd2a3c7a015aaf0c290f53e68501"><td class="memItemLeft" align="right" valign="top"><a id="a3e76cd2a3c7a015aaf0c290f53e68501"></a>
static const char *&#160;</td><td class="memItemRight" valign="bottom"><b>frame_header_identifier_</b> = &quot;&lt;PCL-OCT-COMPRESSED&gt;&quot;</td></tr>
<tr class="separator:a3e76cd2a3c7a015aaf0c290f53e68501"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;typename PointT, typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase&lt;LeafT, BranchT&gt;&gt;<br />
class pcl::io::OctreePointCloudCompression&lt; PointT, LeafT, BranchT, OctreeT &gt;</h3>

<p><b>Octree</b> pointcloud compression class </p>
<dl class="section note"><dt>注解</dt><dd>This class enables compression and decompression of point cloud data based on octree data structures. </dd>
<dd>
</dd>
<dd>
typename: PointT: type of point used in pointcloud </dd></dl>
<dl class="section author"><dt>作者</dt><dd>Julius Kammerl (<a href="#" onclick="location.href='mai'+'lto:'+'jul'+'iu'+'s@k'+'am'+'mer'+'l.'+'de'; return false;">juliu<span style="display: none;">.nosp@m.</span>s@ka<span style="display: none;">.nosp@m.</span>mmerl<span style="display: none;">.nosp@m.</span>.de</a>) </dd></dl>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="aac470a2ddbd1f3ddaa4b6f5eeb399f61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac470a2ddbd1f3ddaa4b6f5eeb399f61">&#9670;&nbsp;</a></span>OctreePointCloudCompression()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT  = OctreeContainerPointIndices, typename BranchT  = OctreeContainerEmpty, typename OctreeT  = Octree2BufBase&lt;LeafT, BranchT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::<a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">OctreePointCloudCompression</a> </td>
          <td>(</td>
          <td class="paramtype">compression_Profiles_e&#160;</td>
          <td class="paramname"><em>compressionProfile_arg</em> = <code>MED_RES_ONLINE_COMPRESSION_WITH_COLOR</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>showStatistics_arg</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>pointResolution_arg</em> = <code>0.001</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>octreeResolution_arg</em> = <code>0.01</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>doVoxelGridDownDownSampling_arg</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>iFrameRate_arg</em> = <code>30</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>doColorEncoding_arg</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char&#160;</td>
          <td class="paramname"><em>colorBitResolution_arg</em> = <code>6</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">compressionProfile_arg</td><td>define compression profile </td></tr>
    <tr><td class="paramname">octreeResolution_arg</td><td>octree resolution at lowest octree level </td></tr>
    <tr><td class="paramname">pointResolution_arg</td><td>precision of point coordinates </td></tr>
    <tr><td class="paramname">doVoxelGridDownDownSampling_arg</td><td>voxel grid filtering </td></tr>
    <tr><td class="paramname">iFrameRate_arg</td><td>i-frame encoding rate </td></tr>
    <tr><td class="paramname">doColorEncoding_arg</td><td>enable/disable color coding </td></tr>
    <tr><td class="paramname">colorBitResolution_arg</td><td>color bit depth </td></tr>
    <tr><td class="paramname">showStatistics_arg</td><td>output compression statistics </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;                                                                               :</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;          <a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html">OctreePointCloud&lt;PointT, LeafT, BranchT, OctreeT&gt;</a> (octreeResolution_arg),</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a> (PointCloudPtr ()),</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a> (),</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a7e5b472065093162cae1062823732243">binary_color_tree_vector_</a> (),</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a> (),</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a60c04620fae807dbddd76895124a9eb5">point_count_data_vector_iterator_</a> (),</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a> (),</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a> (),</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a> (),</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;          do_voxel_grid_enDecoding_ (doVoxelGridDownDownSampling_arg), i_frame_rate_ (iFrameRate_arg),</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;          i_frame_counter_ (0), frame_ID_ (0), point_count_ (0), i_frame_ (<span class="keyword">true</span>),</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;          do_color_encoding_ (doColorEncoding_arg), cloud_with_color_ (<span class="keyword">false</span>), data_with_color_ (<span class="keyword">false</span>),</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;          point_color_offset_ (0), b_show_statistics_ (showStatistics_arg), </div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;          compressed_point_data_len_ (), compressed_color_data_len_ (), selected_profile_(compressionProfile_arg),</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;          point_resolution_(pointResolution_arg), octree_resolution_(octreeResolution_arg),</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;          color_bit_resolution_(colorBitResolution_arg),</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;          object_count_(0)</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        {</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ab3343a4cfc17fb5c3bbf03553c3c62f4">initialization</a>();</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        }</div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a210c9aa011e8797616c0548aa094612f"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">pcl::io::OctreePointCloudCompression::color_coder_</a></div><div class="ttdeci">ColorCoding&lt; PointT &gt; color_coder_</div><div class="ttdoc">Color coding instance</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:278</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a60c04620fae807dbddd76895124a9eb5"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a60c04620fae807dbddd76895124a9eb5">pcl::io::OctreePointCloudCompression::point_count_data_vector_iterator_</a></div><div class="ttdeci">std::vector&lt; unsigned int &gt;::const_iterator point_count_data_vector_iterator_</div><div class="ttdoc">Interator on points per voxel vector</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:275</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a665e46fd9b12feb9b42e44d9275d3ee0"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">pcl::io::OctreePointCloudCompression::point_coder_</a></div><div class="ttdeci">PointCoding&lt; PointT &gt; point_coder_</div><div class="ttdoc">Point coding instance</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:281</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a7e5b472065093162cae1062823732243"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a7e5b472065093162cae1062823732243">pcl::io::OctreePointCloudCompression::binary_color_tree_vector_</a></div><div class="ttdeci">std::vector&lt; char &gt; binary_color_tree_vector_</div><div class="ttdoc">Interator on binary tree structure vector</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:269</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a845ff8a27ce8f59b5d8ae73b0f2c1b74"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">pcl::io::OctreePointCloudCompression::entropy_coder_</a></div><div class="ttdeci">StaticRangeCoder entropy_coder_</div><div class="ttdoc">Static range coder instance</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:284</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_aae26463a7465be923d0987a6ad284a2f"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">pcl::io::OctreePointCloudCompression::binary_tree_data_vector_</a></div><div class="ttdeci">std::vector&lt; char &gt; binary_tree_data_vector_</div><div class="ttdoc">Vector for storing binary tree structure</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:266</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_ab3343a4cfc17fb5c3bbf03553c3c62f4"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ab3343a4cfc17fb5c3bbf03553c3c62f4">pcl::io::OctreePointCloudCompression::initialization</a></div><div class="ttdeci">void initialization()</div><div class="ttdoc">Initialize globals</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:140</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_ac72607ca04e1885ab9bf65e7f3f49477"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">pcl::io::OctreePointCloudCompression::output_</a></div><div class="ttdeci">PointCloudPtr output_</div><div class="ttdoc">Pointer to output point cloud dataset.</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:263</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_aca78c8958023c1ae49b026eb0f5bcdf6"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">pcl::io::OctreePointCloudCompression::point_count_data_vector_</a></div><div class="ttdeci">std::vector&lt; unsigned int &gt; point_count_data_vector_</div><div class="ttdoc">Vector for storing points per voxel information</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:272</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html">pcl::octree::OctreePointCloud</a></div><div class="ttdoc">Octree pointcloud class</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.h:74</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="af57e000fea506a493bcd7ead63b9e1ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af57e000fea506a493bcd7ead63b9e1ea">&#9670;&nbsp;</a></span>addPointIdx()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT  = OctreeContainerPointIndices, typename BranchT  = OctreeContainerEmpty, typename OctreeT  = Octree2BufBase&lt;LeafT, BranchT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::addPointIdx </td>
          <td>(</td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>pointIdx_arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add point at index from input pointcloud dataset to octree </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pointIdx_arg</td><td>the index representing the point in the dataset given by <em>setInputCloud</em> to be added </td></tr>
  </table>
  </dd>
</dl>

<p>重载 <a class="el" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a8a1dcd695db20c10dd2ca049b3e6851e">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;</a> .</p>
<div class="fragment"><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        {</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;          ++object_count_;</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;          <a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html">OctreePointCloud&lt;PointT, LeafT, BranchT, OctreeT&gt;::addPointIdx</a>(pointIdx_arg);</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a9ef445a1b19d3f21ca90481070aa59cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ef445a1b19d3f21ca90481070aa59cb">&#9670;&nbsp;</a></span>decodePointCloud()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT  = OctreeContainerPointIndices, typename BranchT  = OctreeContainerEmpty, typename OctreeT  = Octree2BufBase&lt;LeafT, BranchT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::decodePointCloud </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>compressed_tree_data_in_arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">PointCloudPtr &amp;&#160;</td>
          <td class="paramname"><em>cloud_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Decode point cloud from input stream </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">compressed_tree_data_in_arg</td><td>binary input stream containing compressed data </td></tr>
    <tr><td class="paramname">cloud_arg</td><td>reference to decoded point cloud </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    {</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      <span class="comment">// synchronize to frame header</span></div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a19e0ad29dc86b5bf1d89aa816039516c">syncToHeader</a>(compressed_tree_data_in_arg);</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;      <span class="comment">// initialize octree</span></div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;      this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a2574de24826df36a1071efdf41843e55">switchBuffers</a> ();</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;      this-&gt;<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a8c67c92f45645e9feaa9908b7a6854ef">setOutputCloud</a> (cloud_arg);</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160; </div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;      <span class="comment">// color field analysis</span></div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;      cloud_with_color_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      std::vector&lt;pcl::PCLPointField&gt; fields;</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;      <span class="keywordtype">int</span> rgba_index = -1;</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      rgba_index = <a class="code" href="group__common.html#ga2bc4b9a4e25de1d0b00db4e41f0ad682">pcl::getFieldIndex</a> (*<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>, <span class="stringliteral">&quot;rgb&quot;</span>, fields);</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      <span class="keywordflow">if</span> (rgba_index == -1)</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        rgba_index = <a class="code" href="group__common.html#ga2bc4b9a4e25de1d0b00db4e41f0ad682">pcl::getFieldIndex</a> (*<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>, <span class="stringliteral">&quot;rgba&quot;</span>, fields);</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      <span class="keywordflow">if</span> (rgba_index &gt;= 0)</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;      {</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        point_color_offset_ = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span><span class="keyword">&gt;</span> (fields[rgba_index].offset);</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        cloud_with_color_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;      }</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;      <span class="comment">// read header from input stream</span></div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      this-&gt;<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a479e4529536ba794a75939552d3e7cf2">readFrameHeader</a> (compressed_tree_data_in_arg);</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160; </div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;      <span class="comment">// decode data vectors from stream</span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;      this-&gt;<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a8d57094fe71b73a76189139ec66ed00a">entropyDecoding</a> (compressed_tree_data_in_arg);</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      <span class="comment">// initialize color and point encoding</span></div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;      <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.initializeDecoding ();</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;      <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a>.initializeDecoding ();</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160; </div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;      <span class="comment">// initialize output cloud</span></div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;      <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;points.clear ();</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;      <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;points.reserve (<span class="keyword">static_cast&lt;</span>std::size_t<span class="keyword">&gt;</span> (point_count_));</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;      <span class="keywordflow">if</span> (i_frame_)</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="comment">// i-frame decoding - decode tree structure without referencing previous buffer</span></div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a72c3d318307f1bbffc131076f45733a6">deserializeTree</a> (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;      <span class="keywordflow">else</span></div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="comment">// p-frame decoding - decode XOR encoded tree structure</span></div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a72c3d318307f1bbffc131076f45733a6">deserializeTree</a> (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a>, <span class="keyword">true</span>);</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;      <span class="comment">// assign point cloud properties</span></div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;      <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;height = 1;</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;      <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;width = <span class="keyword">static_cast&lt;</span>uint32_t<span class="keyword">&gt;</span> (cloud_arg-&gt;points.size ());</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;      <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;is_dense = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      <span class="keywordflow">if</span> (b_show_statistics_)</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      {</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <span class="keywordtype">float</span> bytes_per_XYZ = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (compressed_point_data_len_) / <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (point_count_);</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        <span class="keywordtype">float</span> bytes_per_color = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (compressed_color_data_len_) / <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (point_count_);</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;*** POINTCLOUD DECODING ***\n&quot;</span>);</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Frame ID: %d\n&quot;</span>, frame_ID_);</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <span class="keywordflow">if</span> (i_frame_)</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Decoding Frame: Intra frame\n&quot;</span>);</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Decoding Frame: Prediction frame\n&quot;</span>);</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Number of decoded points: %ld\n&quot;</span>, point_count_);</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;XYZ compression percentage: %f%%\n&quot;</span>, bytes_per_XYZ / (3.0f * <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) * 100.0f);</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;XYZ bytes per point: %f bytes\n&quot;</span>, bytes_per_XYZ);</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Color compression percentage: %f%%\n&quot;</span>, bytes_per_color / (<span class="keyword">sizeof</span> (<span class="keywordtype">int</span>)) * 100.0f);</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Color bytes per point: %f bytes\n&quot;</span>, bytes_per_color);</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Size of uncompressed point cloud: %f kBytes\n&quot;</span>, <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (point_count_) * (<span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) + 3.0f * <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) / 1024.0f);</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Size of compressed point cloud: %f kBytes\n&quot;</span>, <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (compressed_point_data_len_ + compressed_color_data_len_) / 1024.0f);</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Total bytes per point: %f bytes\n&quot;</span>, bytes_per_XYZ + bytes_per_color);</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Total compression percentage: %f%%\n&quot;</span>, (bytes_per_XYZ + bytes_per_color) / (<span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) + 3.0f * <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) * 100.0f);</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Compression ratio: %f\n\n&quot;</span>, <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (<span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) + 3.0f * <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) / <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (bytes_per_XYZ + bytes_per_color));</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;      }</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    }</div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a19e0ad29dc86b5bf1d89aa816039516c"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a19e0ad29dc86b5bf1d89aa816039516c">pcl::io::OctreePointCloudCompression::syncToHeader</a></div><div class="ttdeci">void syncToHeader(std::istream &amp;compressed_tree_data_in_arg)</div><div class="ttdoc">Synchronize to frame header</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.hpp:418</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a479e4529536ba794a75939552d3e7cf2"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a479e4529536ba794a75939552d3e7cf2">pcl::io::OctreePointCloudCompression::readFrameHeader</a></div><div class="ttdeci">void readFrameHeader(std::istream &amp;compressed_tree_data_in_arg)</div><div class="ttdoc">Read frame information to output stream</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.hpp:433</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a8c67c92f45645e9feaa9908b7a6854ef"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a8c67c92f45645e9feaa9908b7a6854ef">pcl::io::OctreePointCloudCompression::setOutputCloud</a></div><div class="ttdeci">void setOutputCloud(const PointCloudPtr &amp;cloud_arg)</div><div class="ttdoc">Provide a pointer to the output data set.</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.h:184</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a8d57094fe71b73a76189139ec66ed00a"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a8d57094fe71b73a76189139ec66ed00a">pcl::io::OctreePointCloudCompression::entropyDecoding</a></div><div class="ttdeci">void entropyDecoding(std::istream &amp;compressed_tree_data_in_arg)</div><div class="ttdoc">Entropy decoding of input binary stream and output to information vectors</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.hpp:314</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree2_buf_base_html_a2574de24826df36a1071efdf41843e55"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a2574de24826df36a1071efdf41843e55">pcl::octree::Octree2BufBase::switchBuffers</a></div><div class="ttdeci">void switchBuffers()</div><div class="ttdoc">Switch buffers and reset current octree structure.</div><div class="ttdef"><b>Definition:</b> octree2buf_base.hpp:166</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree2_buf_base_html_a72c3d318307f1bbffc131076f45733a6"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a72c3d318307f1bbffc131076f45733a6">pcl::octree::Octree2BufBase::deserializeTree</a></div><div class="ttdeci">void deserializeTree(std::vector&lt; char &gt; &amp;binary_tree_in_arg, bool do_XOR_decoding_arg=false)</div><div class="ttdoc">Deserialize a binary octree description vector and create a corresponding octree structure....</div><div class="ttdef"><b>Definition:</b> octree2buf_base.hpp:247</div></div>
<div class="ttc" id="agroup__common_html_ga2bc4b9a4e25de1d0b00db4e41f0ad682"><div class="ttname"><a href="group__common.html#ga2bc4b9a4e25de1d0b00db4e41f0ad682">pcl::getFieldIndex</a></div><div class="ttdeci">int getFieldIndex(const pcl::PCLPointCloud2 &amp;cloud, const std::string &amp;field_name)</div><div class="ttdoc">Get the index of a specified field (i.e., dimension/channel)</div><div class="ttdef"><b>Definition:</b> io.h:59</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a80f6e719665e1cb435f006c5895ff91e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80f6e719665e1cb435f006c5895ff91e">&#9670;&nbsp;</a></span>deserializeTreeCallback()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT  = OctreeContainerPointIndices, typename BranchT  = OctreeContainerEmpty, typename OctreeT  = Octree2BufBase&lt;LeafT, BranchT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::deserializeTreeCallback </td>
          <td>(</td>
          <td class="paramtype">LeafT &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const OctreeKey &amp;&#160;</td>
          <td class="paramname"><em>key_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Decode leaf nodes information during deserialization </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">key_arg</td><td>octree key of new leaf node </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    {</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;      <span class="keywordtype">double</span> lowerVoxelCorner[3];</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;      std::size_t pointCount, i, cloudSize;</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;      <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> newPoint;</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160; </div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;      pointCount = 1;</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160; </div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;      <span class="keywordflow">if</span> (!do_voxel_grid_enDecoding_)</div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;      {</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        <span class="comment">// get current cloud size</span></div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        cloudSize = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;points.size ();</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160; </div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        <span class="comment">// get amount of point to be decoded</span></div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        pointCount = *<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a60c04620fae807dbddd76895124a9eb5">point_count_data_vector_iterator_</a>;</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a60c04620fae807dbddd76895124a9eb5">point_count_data_vector_iterator_</a>++;</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160; </div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;        <span class="comment">// increase point cloud by amount of voxel points</span></div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;        <span class="keywordflow">for</span> (i = 0; i &lt; pointCount; i++)</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;points.push_back (newPoint);</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160; </div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        <span class="comment">// calculcate position of lower voxel corner</span></div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        lowerVoxelCorner[0] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (key_arg.x) * this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a> + this-&gt;min_x_;</div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        lowerVoxelCorner[1] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (key_arg.y) * this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a> + this-&gt;min_y_;</div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;        lowerVoxelCorner[2] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (key_arg.z) * this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a> + this-&gt;min_z_;</div>
<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160; </div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;        <span class="comment">// decode differentially encoded points</span></div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a>.decodePoints (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>, lowerVoxelCorner, cloudSize, cloudSize + pointCount);</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;      }</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;      <span class="keywordflow">else</span></div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;      {</div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        <span class="comment">// calculate center of lower voxel corner</span></div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;        newPoint.x = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> ((<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (key_arg.x) + 0.5) * this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a> + this-&gt;min_x_);</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;        newPoint.y = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> ((<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (key_arg.y) + 0.5) * this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a> + this-&gt;min_y_);</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;        newPoint.z = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> ((<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (key_arg.z) + 0.5) * this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a> + this-&gt;min_z_);</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        <span class="comment">// add point to point cloud</span></div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;points.push_back (newPoint);</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;      }</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160; </div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;      <span class="keywordflow">if</span> (cloud_with_color_)</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;      {</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;        <span class="keywordflow">if</span> (data_with_color_)</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;          <span class="comment">// decode color information</span></div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.decodePoints (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>, <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;points.size () - pointCount,</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;                                    <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;points.size (), point_color_offset_);</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;          <span class="comment">// set default color information</span></div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.setDefaultColor (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>, <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;points.size () - pointCount,</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;                                       <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>-&gt;points.size (), point_color_offset_);</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;      }</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    }</div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_ada3e26017a2b5298846bcdd989feea98"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::resolution_</a></div><div class="ttdeci">double resolution_</div><div class="ttdoc">Octree resolution.</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.h:548</div></div>
<div class="ttc" id="astructpcl_1_1_point_x_y_z_r_g_b_a_html"><div class="ttname"><a href="structpcl_1_1_point_x_y_z_r_g_b_a.html">pcl::PointXYZRGBA</a></div><div class="ttdoc">A point structure representing Euclidean xyz coordinates, and the RGBA color.</div><div class="ttdef"><b>Definition:</b> point_types.hpp:540</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0130ade92487d1ac634ec7221aae85b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0130ade92487d1ac634ec7221aae85b8">&#9670;&nbsp;</a></span>encodePointCloud()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT  = OctreeContainerPointIndices, typename BranchT  = OctreeContainerEmpty, typename OctreeT  = Octree2BufBase&lt;LeafT, BranchT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::encodePointCloud </td>
          <td>(</td>
          <td class="paramtype">const PointCloudConstPtr &amp;&#160;</td>
          <td class="paramname"><em>cloud_arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>compressed_tree_data_out_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Encode point cloud to output stream </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">cloud_arg</td><td>point cloud to be compressed </td></tr>
    <tr><td class="paramname">compressed_tree_data_out_arg</td><td>binary output stream containing compressed data </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    {</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> recent_tree_depth =</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;          <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span><span class="keyword">&gt;</span> (this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ae99e636dcd717b62e78a4a12ba9f183f">getTreeDepth</a> ());</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="comment">// initialize octree</span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a87cad20428de876fcf789e674a39f503">setInputCloud</a> (cloud_arg);</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="comment">// add point to octree</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ac477d9477e781d980709b1e8886d2c7c">addPointsFromInputCloud</a> ();</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="comment">// make sure cloud contains points</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a3fea604145f48ddf459379e78666d194">leaf_count_</a>&gt;0) {</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="comment">// color field analysis</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        cloud_with_color_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        std::vector&lt;pcl::PCLPointField&gt; fields;</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keywordtype">int</span> rgba_index = -1;</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        rgba_index = <a class="code" href="group__common.html#ga2bc4b9a4e25de1d0b00db4e41f0ad682">pcl::getFieldIndex</a> (*this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a30c6002f19ebee3e5af733499254e2e3">input_</a>, <span class="stringliteral">&quot;rgb&quot;</span>, fields);</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keywordflow">if</span> (rgba_index == -1)</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        {</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          rgba_index = <a class="code" href="group__common.html#ga2bc4b9a4e25de1d0b00db4e41f0ad682">pcl::getFieldIndex</a> (*this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a30c6002f19ebee3e5af733499254e2e3">input_</a>, <span class="stringliteral">&quot;rgba&quot;</span>, fields);</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        }</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keywordflow">if</span> (rgba_index &gt;= 0)</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        {</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;          point_color_offset_ = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span><span class="keyword">&gt;</span> (fields[rgba_index].offset);</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;          cloud_with_color_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        }</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="comment">// apply encoding configuration</span></div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        cloud_with_color_ &amp;= do_color_encoding_;</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        <span class="comment">// if octree depth changed, we enforce I-frame encoding</span></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        i_frame_ |= (recent_tree_depth != this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ae99e636dcd717b62e78a4a12ba9f183f">getTreeDepth</a> ());<span class="comment">// | !(iFrameCounter%10);</span></div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="comment">// enable I-frame rate</span></div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordflow">if</span> (i_frame_counter_++==i_frame_rate_)</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        {</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;          i_frame_counter_ =0;</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;          i_frame_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        }</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <span class="comment">// increase frameID</span></div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        frame_ID_++;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="comment">// do octree encoding</span></div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keywordflow">if</span> (!do_voxel_grid_enDecoding_)</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        {</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a>.clear ();</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a>.reserve (cloud_arg-&gt;points.size ());</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        }</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="comment">// initialize color encoding</span></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.initializeEncoding ();</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.setPointCount (<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span> (cloud_arg-&gt;points.size ()));</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.setVoxelCount (<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span> (this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a3fea604145f48ddf459379e78666d194">leaf_count_</a>));</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="comment">// initialize point encoding</span></div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a>.initializeEncoding ();</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a>.setPointCount (<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span> (cloud_arg-&gt;points.size ()));</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="comment">// serialize octree</span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keywordflow">if</span> (i_frame_)</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;          <span class="comment">// i-frame encoding - encode tree structure without referencing previous buffer</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4ab50312544738fbcb2dcec19be7d1c0">serializeTree</a> (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;          <span class="comment">// p-frame encoding - XOR encoded tree structure</span></div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4ab50312544738fbcb2dcec19be7d1c0">serializeTree</a> (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a>, <span class="keyword">true</span>);</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        <span class="comment">// write frame header information to stream</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a615433bb22086ab1a06fd75a23fb7da8">writeFrameHeader</a> (compressed_tree_data_out_arg);</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="comment">// apply entropy coding to the content of all data vectors and send data to output stream</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a193a8f147d1e45a511ae6977863a4610">entropyEncoding</a> (compressed_tree_data_out_arg);</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="comment">// prepare for next frame</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a2574de24826df36a1071efdf41843e55">switchBuffers</a> ();</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="comment">// reset object count</span></div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        object_count_ = 0;</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keywordflow">if</span> (b_show_statistics_)</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        {</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;          <span class="keywordtype">float</span> bytes_per_XYZ = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (compressed_point_data_len_) / <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (point_count_);</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;          <span class="keywordtype">float</span> bytes_per_color = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (compressed_color_data_len_) / <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (point_count_);</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;*** POINTCLOUD ENCODING ***\n&quot;</span>);</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Frame ID: %d\n&quot;</span>, frame_ID_);</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;          <span class="keywordflow">if</span> (i_frame_)</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;            PCL_INFO (<span class="stringliteral">&quot;Encoding Frame: Intra frame\n&quot;</span>);</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;            PCL_INFO (<span class="stringliteral">&quot;Encoding Frame: Prediction frame\n&quot;</span>);</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Number of encoded points: %ld\n&quot;</span>, point_count_);</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;XYZ compression percentage: %f%%\n&quot;</span>, bytes_per_XYZ / (3.0f * <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) * 100.0f);</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;XYZ bytes per point: %f bytes\n&quot;</span>, bytes_per_XYZ);</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Color compression percentage: %f%%\n&quot;</span>, bytes_per_color / (<span class="keyword">sizeof</span> (<span class="keywordtype">int</span>)) * 100.0f);</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Color bytes per point: %f bytes\n&quot;</span>, bytes_per_color);</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Size of uncompressed point cloud: %f kBytes\n&quot;</span>, <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (point_count_) * (<span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) + 3.0f * <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) / 1024.0f);</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Size of compressed point cloud: %f kBytes\n&quot;</span>, <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (compressed_point_data_len_ + compressed_color_data_len_) / 1024.0f);</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Total bytes per point: %f bytes\n&quot;</span>, bytes_per_XYZ + bytes_per_color);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Total compression percentage: %f%%\n&quot;</span>, (bytes_per_XYZ + bytes_per_color) / (<span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) + 3.0f * <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) * 100.0f);</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;          PCL_INFO (<span class="stringliteral">&quot;Compression ratio: %f\n\n&quot;</span>, <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (<span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) + 3.0f * <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) / <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (bytes_per_XYZ + bytes_per_color));</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        }</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        </div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        i_frame_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keywordflow">if</span> (b_show_statistics_)</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        PCL_INFO (<span class="stringliteral">&quot;Info: Dropping empty point cloud\n&quot;</span>);</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a2661ae14c070f3abca50c759d7c0c465">deleteTree</a>();</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        i_frame_counter_ = 0;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        i_frame_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      }</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    }</div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a193a8f147d1e45a511ae6977863a4610"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a193a8f147d1e45a511ae6977863a4610">pcl::io::OctreePointCloudCompression::entropyEncoding</a></div><div class="ttdeci">void entropyEncoding(std::ostream &amp;compressed_tree_data_out_arg)</div><div class="ttdoc">Apply entropy encoding to encoded information and output to binary stream</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.hpp:254</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_octree_point_cloud_compression_html_a615433bb22086ab1a06fd75a23fb7da8"><div class="ttname"><a href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a615433bb22086ab1a06fd75a23fb7da8">pcl::io::OctreePointCloudCompression::writeFrameHeader</a></div><div class="ttdeci">void writeFrameHeader(std::ostream &amp;compressed_tree_data_out_arg)</div><div class="ttdoc">Write frame information to output stream</div><div class="ttdef"><b>Definition:</b> octree_pointcloud_compression.hpp:371</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree2_buf_base_html_a3fea604145f48ddf459379e78666d194"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a3fea604145f48ddf459379e78666d194">pcl::octree::Octree2BufBase::leaf_count_</a></div><div class="ttdeci">std::size_t leaf_count_</div><div class="ttdoc">Amount of leaf nodes</div><div class="ttdef"><b>Definition:</b> octree2buf_base.h:890</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree2_buf_base_html_a4ab50312544738fbcb2dcec19be7d1c0"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree2_buf_base.html#a4ab50312544738fbcb2dcec19be7d1c0">pcl::octree::Octree2BufBase::serializeTree</a></div><div class="ttdeci">void serializeTree(std::vector&lt; char &gt; &amp;binary_tree_out_arg, bool do_XOR_encoding_arg=false)</div><div class="ttdoc">Serialize octree into a binary output vector describing its branch node structure.</div><div class="ttdef"><b>Definition:</b> octree2buf_base.hpp:192</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_a2661ae14c070f3abca50c759d7c0c465"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a2661ae14c070f3abca50c759d7c0c465">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::deleteTree</a></div><div class="ttdeci">void deleteTree()</div><div class="ttdoc">Delete the octree structure and its leaf nodes.</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.h:237</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_a30c6002f19ebee3e5af733499254e2e3"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a30c6002f19ebee3e5af733499254e2e3">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::input_</a></div><div class="ttdeci">PointCloudConstPtr input_</div><div class="ttdoc">Pointer to input point cloud dataset.</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.h:539</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_a87cad20428de876fcf789e674a39f503"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a87cad20428de876fcf789e674a39f503">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::setInputCloud</a></div><div class="ttdeci">void setInputCloud(const PointCloudConstPtr &amp;cloud_arg, const IndicesConstPtr &amp;indices_arg=IndicesConstPtr())</div><div class="ttdoc">Provide a pointer to the input data set.</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.h:136</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_ac477d9477e781d980709b1e8886d2c7c"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ac477d9477e781d980709b1e8886d2c7c">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::addPointsFromInputCloud</a></div><div class="ttdeci">void addPointsFromInputCloud()</div><div class="ttdoc">Add points from input point cloud to octree.</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.hpp:65</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_ae99e636dcd717b62e78a4a12ba9f183f"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#ae99e636dcd717b62e78a4a12ba9f183f">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::getTreeDepth</a></div><div class="ttdeci">unsigned int getTreeDepth() const</div><div class="ttdoc">Get the maximum depth of the octree.</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.h:197</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8d57094fe71b73a76189139ec66ed00a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d57094fe71b73a76189139ec66ed00a">&#9670;&nbsp;</a></span>entropyDecoding()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT , typename BranchT , typename OctreeT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::entropyDecoding </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>compressed_tree_data_in_arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Entropy decoding of input binary stream and output to information vectors </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">compressed_tree_data_in_arg</td><td>binary input stream </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    {</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;      uint64_t binary_tree_data_vector_size;</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;      uint64_t point_avg_color_data_vector_size;</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;      compressed_point_data_len_ = 0;</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;      compressed_color_data_len_ = 0;</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160; </div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;      <span class="comment">// decode binary octree structure</span></div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;      compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;binary_tree_data_vector_size), <span class="keyword">sizeof</span> (binary_tree_data_vector_size));</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;      <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a>.resize (<span class="keyword">static_cast&lt;</span>std::size_t<span class="keyword">&gt;</span> (binary_tree_data_vector_size));</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;      compressed_point_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#aaf7fb7f55fa59fdaf3cd394eb91f9bf2">decodeStreamToCharVector</a> (compressed_tree_data_in_arg,</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                                                                         <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a>);</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160; </div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;      <span class="keywordflow">if</span> (data_with_color_)</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;      {</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        <span class="comment">// decode averaged voxel color information</span></div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        std::vector&lt;char&gt;&amp; point_avg_color_data_vector = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.getAverageDataVector ();</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_avg_color_data_vector_size), <span class="keyword">sizeof</span> (point_avg_color_data_vector_size));</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        point_avg_color_data_vector.resize (<span class="keyword">static_cast&lt;</span>std::size_t<span class="keyword">&gt;</span> (point_avg_color_data_vector_size));</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        compressed_color_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#aaf7fb7f55fa59fdaf3cd394eb91f9bf2">decodeStreamToCharVector</a> (compressed_tree_data_in_arg,</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;                                                                           point_avg_color_data_vector);</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;      }</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160; </div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;      <span class="keywordflow">if</span> (!do_voxel_grid_enDecoding_)</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;      {</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        uint64_t point_count_data_vector_size;</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        uint64_t point_diff_data_vector_size;</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        uint64_t point_diff_color_data_vector_size;</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160; </div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        <span class="comment">// decode amount of points per voxel</span></div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_count_data_vector_size), <span class="keyword">sizeof</span> (point_count_data_vector_size));</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a>.resize (<span class="keyword">static_cast&lt;</span>std::size_t<span class="keyword">&gt;</span> (point_count_data_vector_size));</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        compressed_point_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#a305b6e69719a46b880d452ee96f17697">decodeStreamToIntVector</a> (compressed_tree_data_in_arg, <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a>);</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a60c04620fae807dbddd76895124a9eb5">point_count_data_vector_iterator_</a> = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a>.begin ();</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        <span class="comment">// decode differential point information</span></div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        std::vector&lt;char&gt;&amp; pointDiffDataVector = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a>.getDifferentialDataVector ();</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_diff_data_vector_size), <span class="keyword">sizeof</span> (point_diff_data_vector_size));</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        pointDiffDataVector.resize (<span class="keyword">static_cast&lt;</span>std::size_t<span class="keyword">&gt;</span> (point_diff_data_vector_size));</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        compressed_point_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#aaf7fb7f55fa59fdaf3cd394eb91f9bf2">decodeStreamToCharVector</a> (compressed_tree_data_in_arg,</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;                                                                           pointDiffDataVector);</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160; </div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <span class="keywordflow">if</span> (data_with_color_)</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        {</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;          <span class="comment">// decode differential color information</span></div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;          std::vector&lt;char&gt;&amp; pointDiffColorDataVector = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.getDifferentialDataVector ();</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;          compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_diff_color_data_vector_size), <span class="keyword">sizeof</span> (point_diff_color_data_vector_size));</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;          pointDiffColorDataVector.resize (<span class="keyword">static_cast&lt;</span>std::size_t<span class="keyword">&gt;</span> (point_diff_color_data_vector_size));</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;          compressed_color_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#aaf7fb7f55fa59fdaf3cd394eb91f9bf2">decodeStreamToCharVector</a> (compressed_tree_data_in_arg,</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;                                                                             pointDiffColorDataVector);</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        }</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;      }</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    }</div>
<div class="ttc" id="aclasspcl_1_1_static_range_coder_html_a305b6e69719a46b880d452ee96f17697"><div class="ttname"><a href="classpcl_1_1_static_range_coder.html#a305b6e69719a46b880d452ee96f17697">pcl::StaticRangeCoder::decodeStreamToIntVector</a></div><div class="ttdeci">unsigned long decodeStreamToIntVector(std::istream &amp;inputByteStream_arg, std::vector&lt; unsigned int &gt; &amp;outputIntVector_arg)</div><div class="ttdoc">Decode stream to output integer vector</div><div class="ttdef"><b>Definition:</b> entropy_range_coder.hpp:390</div></div>
<div class="ttc" id="aclasspcl_1_1_static_range_coder_html_aaf7fb7f55fa59fdaf3cd394eb91f9bf2"><div class="ttname"><a href="classpcl_1_1_static_range_coder.html#aaf7fb7f55fa59fdaf3cd394eb91f9bf2">pcl::StaticRangeCoder::decodeStreamToCharVector</a></div><div class="ttdeci">unsigned long decodeStreamToCharVector(std::istream &amp;inputByteStream_arg, std::vector&lt; char &gt; &amp;outputByteVector_arg)</div><div class="ttdoc">Decode char stream to output vector</div><div class="ttdef"><b>Definition:</b> entropy_range_coder.hpp:601</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a193a8f147d1e45a511ae6977863a4610"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a193a8f147d1e45a511ae6977863a4610">&#9670;&nbsp;</a></span>entropyEncoding()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT , typename BranchT , typename OctreeT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::entropyEncoding </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>compressed_tree_data_out_arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Apply entropy encoding to encoded information and output to binary stream </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">compressed_tree_data_out_arg</td><td>binary output stream </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    {</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;      uint64_t binary_tree_data_vector_size;</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;      uint64_t point_avg_color_data_vector_size;</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160; </div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;      compressed_point_data_len_ = 0;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;      compressed_color_data_len_ = 0;</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160; </div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;      <span class="comment">// encode binary octree structure</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;      binary_tree_data_vector_size = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a>.size ();</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;      compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;binary_tree_data_vector_size), <span class="keyword">sizeof</span> (binary_tree_data_vector_size));</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;      compressed_point_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#a8728a6d530d9ae47861e720f4d3a431a">encodeCharVectorToStream</a> (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aae26463a7465be923d0987a6ad284a2f">binary_tree_data_vector_</a>,</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;                                                                             compressed_tree_data_out_arg);</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160; </div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;      <span class="keywordflow">if</span> (cloud_with_color_)</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;      {</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="comment">// encode averaged voxel color information</span></div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        std::vector&lt;char&gt;&amp; pointAvgColorDataVector = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.getAverageDataVector ();</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        point_avg_color_data_vector_size = pointAvgColorDataVector.size ();</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_avg_color_data_vector_size),</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                                            <span class="keyword">sizeof</span> (point_avg_color_data_vector_size));</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        compressed_color_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#a8728a6d530d9ae47861e720f4d3a431a">encodeCharVectorToStream</a> (pointAvgColorDataVector,</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                                                                               compressed_tree_data_out_arg);</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;      }</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160; </div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;      <span class="keywordflow">if</span> (!do_voxel_grid_enDecoding_)</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;      {</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        uint64_t pointCountDataVector_size;</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        uint64_t point_diff_data_vector_size;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        uint64_t point_diff_color_data_vector_size;</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160; </div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        <span class="comment">// encode amount of points per voxel</span></div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        pointCountDataVector_size = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a>.size ();</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;pointCountDataVector_size), <span class="keyword">sizeof</span> (pointCountDataVector_size));</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        compressed_point_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#abd6ba03206efe9ae323b31f3017bca6d">encodeIntVectorToStream</a> (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a>,</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;                                                                          compressed_tree_data_out_arg);</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160; </div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="comment">// encode differential point information</span></div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        std::vector&lt;char&gt;&amp; point_diff_data_vector = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a>.getDifferentialDataVector ();</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;        point_diff_data_vector_size = point_diff_data_vector.size ();</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_diff_data_vector_size), <span class="keyword">sizeof</span> (point_diff_data_vector_size));</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;        compressed_point_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#a8728a6d530d9ae47861e720f4d3a431a">encodeCharVectorToStream</a> (point_diff_data_vector,</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                                                                               compressed_tree_data_out_arg);</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        <span class="keywordflow">if</span> (cloud_with_color_)</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        {</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;          <span class="comment">// encode differential color information</span></div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;          std::vector&lt;char&gt;&amp; point_diff_color_data_vector = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.getDifferentialDataVector ();</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;          point_diff_color_data_vector_size = point_diff_color_data_vector.size ();</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;          compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_diff_color_data_vector_size),</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                                           <span class="keyword">sizeof</span> (point_diff_color_data_vector_size));</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;          compressed_color_data_len_ += <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a845ff8a27ce8f59b5d8ae73b0f2c1b74">entropy_coder_</a>.<a class="code" href="classpcl_1_1_static_range_coder.html#a8728a6d530d9ae47861e720f4d3a431a">encodeCharVectorToStream</a> (point_diff_color_data_vector,</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;                                                                                 compressed_tree_data_out_arg);</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        }</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;      }</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;      <span class="comment">// flush output stream</span></div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;      compressed_tree_data_out_arg.flush ();</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    }</div>
<div class="ttc" id="aclasspcl_1_1_static_range_coder_html_a8728a6d530d9ae47861e720f4d3a431a"><div class="ttname"><a href="classpcl_1_1_static_range_coder.html#a8728a6d530d9ae47861e720f4d3a431a">pcl::StaticRangeCoder::encodeCharVectorToStream</a></div><div class="ttdeci">unsigned long encodeCharVectorToStream(const std::vector&lt; char &gt; &amp;inputByteVector_arg, std::ostream &amp;outputByteStream_arg)</div><div class="ttdoc">Encode char vector to output stream</div><div class="ttdef"><b>Definition:</b> entropy_range_coder.hpp:492</div></div>
<div class="ttc" id="aclasspcl_1_1_static_range_coder_html_abd6ba03206efe9ae323b31f3017bca6d"><div class="ttname"><a href="classpcl_1_1_static_range_coder.html#abd6ba03206efe9ae323b31f3017bca6d">pcl::StaticRangeCoder::encodeIntVectorToStream</a></div><div class="ttdeci">unsigned long encodeIntVectorToStream(std::vector&lt; unsigned int &gt; &amp;inputIntVector_arg, std::ostream &amp;outputByterStream_arg)</div><div class="ttdoc">Encode integer vector to output stream</div><div class="ttdef"><b>Definition:</b> entropy_range_coder.hpp:242</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa1d2c2bba05c7fab6e75d4cf2a45e33b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1d2c2bba05c7fab6e75d4cf2a45e33b">&#9670;&nbsp;</a></span>getOutputCloud()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT  = OctreeContainerPointIndices, typename BranchT  = OctreeContainerEmpty, typename OctreeT  = Octree2BufBase&lt;LeafT, BranchT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">PointCloudPtr <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::getOutputCloud </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get a pointer to the output point cloud dataset. </p>
<dl class="section return"><dt>返回</dt><dd>pointer to pointcloud output class. </dd></dl>
<div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        {</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a>);</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a479e4529536ba794a75939552d3e7cf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a479e4529536ba794a75939552d3e7cf2">&#9670;&nbsp;</a></span>readFrameHeader()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT , typename BranchT , typename OctreeT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::readFrameHeader </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>compressed_tree_data_in_arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read frame information to output stream </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">compressed_tree_data_in_arg</td><td>binary input stream </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    {</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;      <span class="comment">// read header</span></div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;      compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;frame_ID_), <span class="keyword">sizeof</span> (frame_ID_));</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;      compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span>(&amp;i_frame_), <span class="keyword">sizeof</span> (i_frame_));</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;      <span class="keywordflow">if</span> (i_frame_)</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;      {</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;        <span class="keywordtype">double</span> min_x, min_y, min_z, max_x, max_y, max_z;</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;        <span class="keywordtype">double</span> octree_resolution;</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> color_bit_depth;</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        <span class="keywordtype">double</span> point_resolution;</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160; </div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        <span class="comment">// read coder configuration</span></div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;do_voxel_grid_enDecoding_), <span class="keyword">sizeof</span> (do_voxel_grid_enDecoding_));</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;data_with_color_), <span class="keyword">sizeof</span> (data_with_color_));</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_count_), <span class="keyword">sizeof</span> (point_count_));</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;octree_resolution), <span class="keyword">sizeof</span> (octree_resolution));</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;color_bit_depth), <span class="keyword">sizeof</span> (color_bit_depth));</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_resolution), <span class="keyword">sizeof</span> (point_resolution));</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160; </div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        <span class="comment">// read octree bounding box</span></div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;min_x), <span class="keyword">sizeof</span> (min_x));</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;min_y), <span class="keyword">sizeof</span> (min_y));</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;min_z), <span class="keyword">sizeof</span> (min_z));</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;max_x), <span class="keyword">sizeof</span> (max_x));</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;max_y), <span class="keyword">sizeof</span> (max_y));</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;max_z), <span class="keyword">sizeof</span> (max_z));</div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160; </div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <span class="comment">// reset octree and assign new bounding box &amp; resolution</span></div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a2661ae14c070f3abca50c759d7c0c465">deleteTree</a> ();</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a95a51d4834c204e02fd12b48d0c37a6f">setResolution</a> (octree_resolution);</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a7bc46426ce1b55cfd0a32063ada08613">defineBoundingBox</a> (min_x, min_y, min_z, max_x, max_y, max_z);</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160; </div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        <span class="comment">// configure color &amp; point coding</span></div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.setBitDepth (color_bit_depth);</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a>.setPrecision (<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (point_resolution));</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;      }</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    }</div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_a7bc46426ce1b55cfd0a32063ada08613"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a7bc46426ce1b55cfd0a32063ada08613">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::defineBoundingBox</a></div><div class="ttdeci">void defineBoundingBox()</div><div class="ttdoc">Investigate dimensions of pointcloud data set and define corresponding bounding box for octree.</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.hpp:265</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_a95a51d4834c204e02fd12b48d0c37a6f"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#a95a51d4834c204e02fd12b48d0c37a6f">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::setResolution</a></div><div class="ttdeci">void setResolution(double resolution_arg)</div><div class="ttdoc">Set/change the octree voxel resolution</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.h:176</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad6acbe6be9d492002932c84e7d0d282c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6acbe6be9d492002932c84e7d0d282c">&#9670;&nbsp;</a></span>serializeTreeCallback()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT  = OctreeContainerPointIndices, typename BranchT  = OctreeContainerEmpty, typename OctreeT  = Octree2BufBase&lt;LeafT, BranchT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::serializeTreeCallback </td>
          <td>(</td>
          <td class="paramtype">LeafT &amp;&#160;</td>
          <td class="paramname"><em>leaf_arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const OctreeKey &amp;&#160;</td>
          <td class="paramname"><em>key_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Encode leaf node information during serialization </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">leaf_arg</td><td>reference to new leaf node </td></tr>
    <tr><td class="paramname">key_arg</td><td>octree key of new leaf node </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    {</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;      <span class="comment">// reference to point indices vector stored within octree leaf</span></div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;      <span class="keyword">const</span> std::vector&lt;int&gt;&amp; leafIdx = leaf_arg.getPointIndicesVector();</div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160; </div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;      <span class="keywordflow">if</span> (!do_voxel_grid_enDecoding_)</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;      {</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <span class="keywordtype">double</span> lowerVoxelCorner[3];</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160; </div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        <span class="comment">// encode amount of points within voxel</span></div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#aca78c8958023c1ae49b026eb0f5bcdf6">point_count_data_vector_</a>.push_back (<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (leafIdx.size ()));</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160; </div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        <span class="comment">// calculate lower voxel corner based on octree key</span></div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        lowerVoxelCorner[0] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (key_arg.x) * this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a> + this-&gt;min_x_;</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        lowerVoxelCorner[1] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (key_arg.y) * this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a> + this-&gt;min_y_;</div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;        lowerVoxelCorner[2] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (key_arg.z) * this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#ada3e26017a2b5298846bcdd989feea98">resolution_</a> + this-&gt;min_z_;</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160; </div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;        <span class="comment">// differentially encode points to lower voxel corner</span></div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a>.encodePoints (leafIdx, lowerVoxelCorner, this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a30c6002f19ebee3e5af733499254e2e3">input_</a>);</div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160; </div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        <span class="keywordflow">if</span> (cloud_with_color_)</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;          <span class="comment">// encode color of points</span></div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.encodePoints (leafIdx, point_color_offset_, this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a30c6002f19ebee3e5af733499254e2e3">input_</a>);</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;      }</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;      <span class="keywordflow">else</span></div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;      {</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;        <span class="keywordflow">if</span> (cloud_with_color_)</div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;          <span class="comment">// encode average color of all points within voxel</span></div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;          <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.encodeAverageOfPoints (leafIdx, point_color_offset_, this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#a30c6002f19ebee3e5af733499254e2e3">input_</a>);</div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;      }</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8c67c92f45645e9feaa9908b7a6854ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c67c92f45645e9feaa9908b7a6854ef">&#9670;&nbsp;</a></span>setOutputCloud()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT  = OctreeContainerPointIndices, typename BranchT  = OctreeContainerEmpty, typename OctreeT  = Octree2BufBase&lt;LeafT, BranchT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::setOutputCloud </td>
          <td>(</td>
          <td class="paramtype">const PointCloudPtr &amp;&#160;</td>
          <td class="paramname"><em>cloud_arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provide a pointer to the output data set. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">cloud_arg</td><td>the boost shared pointer to a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> message </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        {</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;          <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a> != cloud_arg)</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;          {</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;            <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#ac72607ca04e1885ab9bf65e7f3f49477">output_</a> = cloud_arg;</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;          }</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a19e0ad29dc86b5bf1d89aa816039516c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19e0ad29dc86b5bf1d89aa816039516c">&#9670;&nbsp;</a></span>syncToHeader()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT , typename BranchT , typename OctreeT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::syncToHeader </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>compressed_tree_data_in_arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Synchronize to frame header </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">compressed_tree_data_in_arg</td><td>binary input stream </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    {</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;      <span class="comment">// sync to frame header</span></div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;      <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> header_id_pos = 0;</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;      <span class="keywordflow">while</span> (header_id_pos &lt; strlen (frame_header_identifier_))</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;      {</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        <span class="keywordtype">char</span> readChar;</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        compressed_tree_data_in_arg.read (<span class="keyword">static_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;readChar), <span class="keyword">sizeof</span> (readChar));</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        <span class="keywordflow">if</span> (readChar != frame_header_identifier_[header_id_pos++])</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;          header_id_pos = (frame_header_identifier_[0]==readChar)?1:0;</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;      }</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a615433bb22086ab1a06fd75a23fb7da8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a615433bb22086ab1a06fd75a23fb7da8">&#9670;&nbsp;</a></span>writeFrameHeader()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT , typename LeafT , typename BranchT , typename OctreeT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">pcl::io::OctreePointCloudCompression</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>, LeafT, BranchT, <a class="el" href="classpcl_1_1octree_1_1_octree2_buf_base.html">OctreeT</a> &gt;::writeFrameHeader </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>compressed_tree_data_out_arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write frame information to output stream </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">compressed_tree_data_out_arg</td><td>binary output stream </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    {</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;      <span class="comment">// encode header identifier</span></div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;      compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (frame_header_identifier_), strlen (frame_header_identifier_));</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;      <span class="comment">// encode point cloud header id</span></div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;      compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;frame_ID_), <span class="keyword">sizeof</span> (frame_ID_));</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;      <span class="comment">// encode frame type (I/P-frame)</span></div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;      compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;i_frame_), <span class="keyword">sizeof</span> (i_frame_));</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;      <span class="keywordflow">if</span> (i_frame_)</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;      {</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        <span class="keywordtype">double</span> min_x, min_y, min_z, max_x, max_y, max_z;</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        <span class="keywordtype">double</span> octree_resolution;</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> color_bit_depth;</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        <span class="keywordtype">double</span> point_resolution;</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160; </div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        <span class="comment">// get current configuration</span></div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        octree_resolution = this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#aaeb6c759054a883ef7e709591d0be3e3">getResolution</a> ();</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;        color_bit_depth  = <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a210c9aa011e8797616c0548aa094612f">color_coder_</a>.getBitDepth ();</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;        point_resolution= <a class="code" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html#a665e46fd9b12feb9b42e44d9275d3ee0">point_coder_</a>.getPrecision ();</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree_point_cloud.html#adc10f5df5244d371c4136f09b37cd685">getBoundingBox</a> (min_x, min_y, min_z, max_x, max_y, max_z);</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160; </div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        <span class="comment">// encode amount of points</span></div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        <span class="keywordflow">if</span> (do_voxel_grid_enDecoding_)</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;          point_count_ = this-&gt;<a class="code" href="classpcl_1_1octree_1_1_octree2_buf_base.html#a3fea604145f48ddf459379e78666d194">leaf_count_</a>;</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;          point_count_ = this-&gt;object_count_;</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160; </div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        <span class="comment">// encode coding configuration</span></div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;do_voxel_grid_enDecoding_), <span class="keyword">sizeof</span> (do_voxel_grid_enDecoding_));</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;cloud_with_color_), <span class="keyword">sizeof</span> (cloud_with_color_));</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_count_), <span class="keyword">sizeof</span> (point_count_));</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;octree_resolution), <span class="keyword">sizeof</span> (octree_resolution));</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;color_bit_depth), <span class="keyword">sizeof</span> (color_bit_depth));</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;point_resolution), <span class="keyword">sizeof</span> (point_resolution));</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160; </div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        <span class="comment">// encode octree bounding box</span></div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;min_x), <span class="keyword">sizeof</span> (min_x));</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;min_y), <span class="keyword">sizeof</span> (min_y));</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;min_z), <span class="keyword">sizeof</span> (min_z));</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;max_x), <span class="keyword">sizeof</span> (max_x));</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;max_y), <span class="keyword">sizeof</span> (max_y));</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        compressed_tree_data_out_arg.write (<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;max_z), <span class="keyword">sizeof</span> (max_z));</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;      }</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    }</div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_aaeb6c759054a883ef7e709591d0be3e3"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#aaeb6c759054a883ef7e709591d0be3e3">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::getResolution</a></div><div class="ttdeci">double getResolution() const</div><div class="ttdoc">Get octree voxel resolution</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.h:189</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_point_cloud_html_adc10f5df5244d371c4136f09b37cd685"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_point_cloud.html#adc10f5df5244d371c4136f09b37cd685">pcl::octree::OctreePointCloud&lt; PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase&lt; OctreeContainerPointIndices, OctreeContainerEmpty &gt; &gt;::getBoundingBox</a></div><div class="ttdeci">void getBoundingBox(double &amp;min_x_arg, double &amp;min_y_arg, double &amp;min_z_arg, double &amp;max_x_arg, double &amp;max_y_arg, double &amp;max_z_arg) const</div><div class="ttdoc">Get bounding box for octree</div><div class="ttdef"><b>Definition:</b> octree_pointcloud.hpp:400</div></div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>io/include/pcl/compression/<a class="el" href="octree__pointcloud__compression_8h_source.html">octree_pointcloud_compression.h</a></li>
<li>io/include/pcl/compression/impl/<a class="el" href="octree__pointcloud__compression_8hpp_source.html">octree_pointcloud_compression.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><b>io</b></li><li class="navelem"><a class="el" href="classpcl_1_1io_1_1_octree_point_cloud_compression.html">OctreePointCloudCompression</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
